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

This commit is contained in:
Frederik Rietdijk 2017-06-01 10:17:38 +02:00
commit 8b5dc2d67b
105 changed files with 5707 additions and 4514 deletions

View File

@ -128,7 +128,7 @@
<listitem> <listitem>
<para> <para>
This is a string identifying the standard C library used. This is a string identifying the standard C library used.
Valid identifiers include "glibc" for GNU libc, "libsystem" for Darwin's Libsystem, and "uclibc" for µClibc. Valid identifiers include "glibc" for GNU libc, "libSystem" for Darwin's Libsystem, and "uclibc" for µClibc.
It should probably be refactored to use the module system, like <varname>parse</varname>. It should probably be refactored to use the module system, like <varname>parse</varname>.
</para> </para>
</listitem> </listitem>

View File

@ -5,8 +5,9 @@
*/ */
let let
# trivial, often used functions # often used, or depending on very little
trivial = import ./trivial.nix; trivial = import ./trivial.nix;
fixedPoints = import ./fixed-points.nix;
# datatypes # datatypes
attrsets = import ./attrsets.nix; attrsets = import ./attrsets.nix;
@ -42,7 +43,7 @@ let
filesystem = import ./filesystem.nix; filesystem = import ./filesystem.nix;
in in
{ inherit trivial { inherit trivial fixedPoints
attrsets lists strings stringsWithDeps attrsets lists strings stringsWithDeps
customisation maintainers meta sources customisation maintainers meta sources
modules options types modules options types
@ -55,6 +56,7 @@ in
} }
# !!! don't include everything at top-level; perhaps only the most # !!! don't include everything at top-level; perhaps only the most
# commonly used functions. # commonly used functions.
// trivial // lists // strings // stringsWithDeps // attrsets // sources // trivial // fixedPoints
// lists // strings // stringsWithDeps // attrsets // sources
// options // types // meta // debug // misc // modules // options // types // meta // debug // misc // modules
// customisation // customisation

78
lib/fixed-points.nix Normal file
View File

@ -0,0 +1,78 @@
rec {
# Compute the fixed point of the given function `f`, which is usually an
# attribute set that expects its final, non-recursive representation as an
# argument:
#
# f = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; }
#
# Nix evaluates this recursion until all references to `self` have been
# resolved. At that point, the final result is returned and `f x = x` holds:
#
# nix-repl> fix f
# { bar = "bar"; foo = "foo"; foobar = "foobar"; }
#
# Type: fix :: (a -> a) -> a
#
# See https://en.wikipedia.org/wiki/Fixed-point_combinator for further
# details.
fix = f: let x = f x; in x;
# A variant of `fix` that records the original recursive attribute set in the
# result. This is useful in combination with the `extends` function to
# implement deep overriding. See pkgs/development/haskell-modules/default.nix
# for a concrete example.
fix' = f: let x = f x // { __unfix__ = f; }; in x;
# Modify the contents of an explicitly recursive attribute set in a way that
# honors `self`-references. This is accomplished with a function
#
# g = self: super: { foo = super.foo + " + "; }
#
# that has access to the unmodified input (`super`) as well as the final
# non-recursive representation of the attribute set (`self`). `extends`
# differs from the native `//` operator insofar as that it's applied *before*
# references to `self` are resolved:
#
# nix-repl> fix (extends g f)
# { bar = "bar"; foo = "foo + "; foobar = "foo + bar"; }
#
# The name of the function is inspired by object-oriented inheritance, i.e.
# think of it as an infix operator `g extends f` that mimics the syntax from
# Java. It may seem counter-intuitive to have the "base class" as the second
# argument, but it's nice this way if several uses of `extends` are cascaded.
extends = f: rattrs: self: let super = rattrs self; in super // f self super;
# Compose two extending functions of the type expected by 'extends'
# into one where changes made in the first are available in the
# 'super' of the second
composeExtensions =
f: g: self: super:
let fApplied = f self super;
super' = super // fApplied;
in fApplied // g self super';
# Create an overridable, recursive attribute set. For example:
#
# nix-repl> obj = makeExtensible (self: { })
#
# nix-repl> obj
# { __unfix__ = «lambda»; extend = «lambda»; }
#
# nix-repl> obj = obj.extend (self: super: { foo = "foo"; })
#
# nix-repl> obj
# { __unfix__ = «lambda»; extend = «lambda»; foo = "foo"; }
#
# nix-repl> obj = obj.extend (self: super: { foo = super.foo + " + "; bar = "bar"; foobar = self.foo + self.bar; })
#
# nix-repl> obj
# { __unfix__ = «lambda»; bar = "bar"; extend = «lambda»; foo = "foo + "; foobar = "foo + bar"; }
makeExtensible = makeExtensibleWithCustomName "extend";
# Same as `makeExtensible` but the name of the extending attribute is
# customized.
makeExtensibleWithCustomName = extenderName: rattrs:
fix' rattrs // {
${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs);
};
}

View File

@ -96,14 +96,14 @@ rec {
iphone64 = { iphone64 = {
config = "aarch64-apple-darwin14"; config = "aarch64-apple-darwin14";
arch = "arm64"; arch = "arm64";
libc = "libsystem"; libc = "libSystem";
platform = {}; platform = {};
}; };
iphone32 = { iphone32 = {
config = "arm-apple-darwin10"; config = "arm-apple-darwin10";
arch = "armv7-a"; arch = "armv7-a";
libc = "libsystem"; libc = "libSystem";
platform = {}; platform = {};
}; };

View File

@ -1,7 +1,6 @@
# to run these tests: # to run these tests:
# nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix # nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix
# if the resulting list is empty, all tests passed # if the resulting list is empty, all tests passed
let inherit (builtins) add; in
with import ../default.nix; with import ../default.nix;
runTests { runTests {
@ -88,6 +87,37 @@ runTests {
expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ]; expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
}; };
testIsStorePath = {
expr =
let goodPath =
"/nix/store/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
in {
storePath = isStorePath goodPath;
storePathAppendix = isStorePath
"${goodPath}/bin/python";
nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath)));
asPath = isStorePath (builtins.toPath goodPath);
otherPath = isStorePath "/something/else";
otherVals = {
attrset = isStorePath {};
list = isStorePath [];
int = isStorePath 42;
};
};
expected = {
storePath = true;
storePathAppendix = false;
nonAbsolute = false;
asPath = true;
otherPath = false;
otherVals = {
attrset = false;
list = false;
int = false;
};
};
};
# LISTS # LISTS
testFilter = { testFilter = {
@ -266,14 +296,14 @@ runTests {
res4 = let x = defaultOverridableDelayableArgs id { a = 7; }; res4 = let x = defaultOverridableDelayableArgs id { a = 7; };
in (x.merge) ( x: { b = 10; }); in (x.merge) ( x: { b = 10; });
res5 = let x = defaultOverridableDelayableArgs id { a = 7; }; res5 = let x = defaultOverridableDelayableArgs id { a = 7; };
in (x.merge) ( x: { a = add x.a 3; }); in (x.merge) ( x: { a = builtins.add x.a 3; });
res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; }; res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
y = x.merge {}; y = x.merge {};
in (y.merge) { a = 10; }; in (y.merge) { a = 10; };
resRem7 = res6.replace (a: removeAttrs a ["a"]); resRem7 = res6.replace (a: removeAttrs a ["a"]);
resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; }; resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
x2 = x.merge { a = 20; }; # now we have 27 x2 = x.merge { a = 20; }; # now we have 27
in (x2.replace) { a = 10; }; # and override the value by 10 in (x2.replace) { a = 10; }; # and override the value by 10

View File

@ -43,84 +43,6 @@ rec {
*/ */
mergeAttrs = x: y: x // y; mergeAttrs = x: y: x // y;
# Compute the fixed point of the given function `f`, which is usually an
# attribute set that expects its final, non-recursive representation as an
# argument:
#
# f = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; }
#
# Nix evaluates this recursion until all references to `self` have been
# resolved. At that point, the final result is returned and `f x = x` holds:
#
# nix-repl> fix f
# { bar = "bar"; foo = "foo"; foobar = "foobar"; }
#
# Type: fix :: (a -> a) -> a
#
# See https://en.wikipedia.org/wiki/Fixed-point_combinator for further
# details.
fix = f: let x = f x; in x;
# A variant of `fix` that records the original recursive attribute set in the
# result. This is useful in combination with the `extends` function to
# implement deep overriding. See pkgs/development/haskell-modules/default.nix
# for a concrete example.
fix' = f: let x = f x // { __unfix__ = f; }; in x;
# Modify the contents of an explicitly recursive attribute set in a way that
# honors `self`-references. This is accomplished with a function
#
# g = self: super: { foo = super.foo + " + "; }
#
# that has access to the unmodified input (`super`) as well as the final
# non-recursive representation of the attribute set (`self`). `extends`
# differs from the native `//` operator insofar as that it's applied *before*
# references to `self` are resolved:
#
# nix-repl> fix (extends g f)
# { bar = "bar"; foo = "foo + "; foobar = "foo + bar"; }
#
# The name of the function is inspired by object-oriented inheritance, i.e.
# think of it as an infix operator `g extends f` that mimics the syntax from
# Java. It may seem counter-intuitive to have the "base class" as the second
# argument, but it's nice this way if several uses of `extends` are cascaded.
extends = f: rattrs: self: let super = rattrs self; in super // f self super;
# Compose two extending functions of the type expected by 'extends'
# into one where changes made in the first are available in the
# 'super' of the second
composeExtensions =
f: g: self: super:
let fApplied = f self super;
super' = super // fApplied;
in fApplied // g self super';
# Create an overridable, recursive attribute set. For example:
#
# nix-repl> obj = makeExtensible (self: { })
#
# nix-repl> obj
# { __unfix__ = «lambda»; extend = «lambda»; }
#
# nix-repl> obj = obj.extend (self: super: { foo = "foo"; })
#
# nix-repl> obj
# { __unfix__ = «lambda»; extend = «lambda»; foo = "foo"; }
#
# nix-repl> obj = obj.extend (self: super: { foo = super.foo + " + "; bar = "bar"; foobar = self.foo + self.bar; })
#
# nix-repl> obj
# { __unfix__ = «lambda»; bar = "bar"; extend = «lambda»; foo = "foo + "; foobar = "foo + bar"; }
makeExtensible = makeExtensibleWithCustomName "extend";
# Same as `makeExtensible` but the name of the extending attribute is
# customized.
makeExtensibleWithCustomName = extenderName: rattrs:
fix' rattrs // {
${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs);
};
# Flip the order of the arguments of a binary function. # Flip the order of the arguments of a binary function.
flip = f: a: b: f b a; flip = f: a: b: f b a;

View File

@ -78,6 +78,17 @@ rmdir /var/lib/ipfs/.ipfs
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>postgres</literal> default version was changed from 9.5 to 9.6.
</para>
<para>
The <literal>postgres</literal> superuser name has changed from <literal>root</literal> to <literal>postgres</literal> to more closely follow what other Linux distributions are doing.
</para>
<para>
The <literal>postgres</literal> default <literal>dataDir</literal> has changed from <literal>/var/db/postgres</literal> to <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is 9.6 for example.
</para>
</listitem>
</itemizedlist> </itemizedlist>

View File

@ -222,13 +222,11 @@ in
'' + cfg.extraResolvconfConf + '' '' + cfg.extraResolvconfConf + ''
''; '';
} // (optionalAttrs config.services.resolved.enable ( } // optionalAttrs config.services.resolved.enable {
if dnsmasqResolve then {
"dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
} else {
"resolv.conf".source = "/run/systemd/resolve/resolv.conf"; "resolv.conf".source = "/run/systemd/resolve/resolv.conf";
} } // optionalAttrs (config.services.resolved.enable && dnsmasqResolve) {
)); "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
};
networking.proxy.envVars = networking.proxy.envVars =
optionalAttrs (cfg.proxy.default != null) { optionalAttrs (cfg.proxy.default != null) {

View File

@ -28,7 +28,7 @@ let
nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; }; nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
nvidiaPackage = nvidia: pkgs: nvidiaPackage = nvidia: pkgs:
if !nvidia.useGLVND then nvidia if !nvidia.useGLVND then nvidia.out
else pkgs.buildEnv { else pkgs.buildEnv {
name = "nvidia-libs"; name = "nvidia-libs";
paths = [ pkgs.libglvnd nvidia.out ]; paths = [ pkgs.libglvnd nvidia.out ];
@ -56,7 +56,8 @@ in
hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs; hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs;
hardware.opengl.package32 = nvidiaPackage nvidia_libs32 pkgs_i686; hardware.opengl.package32 = nvidiaPackage nvidia_libs32 pkgs_i686;
environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings nvidia_x11.persistenced ]; environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ]
++ lib.filter (p: p != null) [ nvidia_x11.persistenced ];
boot.extraModulePackages = [ nvidia_x11.bin ]; boot.extraModulePackages = [ nvidia_x11.bin ];

View File

@ -38,6 +38,10 @@ let
pre84 = versionOlder (builtins.parseDrvName postgresql.name).version "8.4"; pre84 = versionOlder (builtins.parseDrvName postgresql.name).version "8.4";
# NixOS traditionally used `root` as superuser, most other distros use `postgres`. From 17.09
# we also try to follow this standard
superuser = (if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root");
in in
{ {
@ -74,7 +78,7 @@ in
dataDir = mkOption { dataDir = mkOption {
type = types.path; type = types.path;
default = "/var/db/postgresql"; example = "/var/lib/postgresql/9.6";
description = '' description = ''
Data directory for PostgreSQL. Data directory for PostgreSQL.
''; '';
@ -160,7 +164,13 @@ in
# Note: when changing the default, make it conditional on # Note: when changing the default, make it conditional on
# system.stateVersion to maintain compatibility with existing # system.stateVersion to maintain compatibility with existing
# systems! # systems!
mkDefault (if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95 else pkgs.postgresql94); mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95
else pkgs.postgresql94);
services.postgresql.dataDir =
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
else "/var/db/postgresql");
services.postgresql.authentication = mkAfter services.postgresql.authentication = mkAfter
'' ''
@ -205,7 +215,7 @@ in
'' ''
# Initialise the database. # Initialise the database.
if ! test -e ${cfg.dataDir}/PG_VERSION; then if ! test -e ${cfg.dataDir}/PG_VERSION; then
initdb -U root initdb -U ${superuser}
# See postStart! # See postStart!
touch "${cfg.dataDir}/.first_startup" touch "${cfg.dataDir}/.first_startup"
fi fi
@ -237,14 +247,14 @@ in
# Wait for PostgreSQL to be ready to accept connections. # Wait for PostgreSQL to be ready to accept connections.
postStart = postStart =
'' ''
while ! psql --port=${toString cfg.port} postgres -c "" 2> /dev/null; do while ! ${pkgs.sudo}/bin/sudo -u ${superuser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
if ! kill -0 "$MAINPID"; then exit 1; fi if ! kill -0 "$MAINPID"; then exit 1; fi
sleep 0.1 sleep 0.1
done done
if test -e "${cfg.dataDir}/.first_startup"; then if test -e "${cfg.dataDir}/.first_startup"; then
${optionalString (cfg.initialScript != null) '' ${optionalString (cfg.initialScript != null) ''
psql -f "${cfg.initialScript}" --port=${toString cfg.port} postgres ${pkgs.sudo}/bin/sudo -u ${superuser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
''} ''}
rm -f "${cfg.dataDir}/.first_startup" rm -f "${cfg.dataDir}/.first_startup"
fi fi

View File

@ -488,9 +488,7 @@ in {
# create index # create index
${pkgs.python27Packages.graphite_web}/bin/build-index.sh ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
chown graphite:graphite ${cfg.dataDir} chown -R graphite:graphite ${cfg.dataDir}
chown graphite:graphite ${cfg.dataDir}/whisper
chown -R graphite:graphite ${cfg.dataDir}/log
touch ${dataDir}/db-created touch ${dataDir}/db-created
fi fi

View File

@ -5,13 +5,22 @@ with lib;
let let
cfg = config.services.elasticsearch; cfg = config.services.elasticsearch;
es5 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "5" >= 0;
esConfig = '' esConfig = ''
network.host: ${cfg.listenAddress} network.host: ${cfg.listenAddress}
cluster.name: ${cfg.cluster_name}
${if es5 then ''
http.port: ${toString cfg.port}
transport.tcp.port: ${toString cfg.tcp_port}
'' else ''
network.port: ${toString cfg.port} network.port: ${toString cfg.port}
network.tcp.port: ${toString cfg.tcp_port} network.tcp.port: ${toString cfg.tcp_port}
# TODO: find a way to enable security manager # TODO: find a way to enable security manager
security.manager.enabled: false security.manager.enabled: false
cluster.name: ${cfg.cluster_name} ''}
${cfg.extraConf} ${cfg.extraConf}
''; '';
@ -19,13 +28,18 @@ let
name = "elasticsearch-config"; name = "elasticsearch-config";
paths = [ paths = [
(pkgs.writeTextDir "elasticsearch.yml" esConfig) (pkgs.writeTextDir "elasticsearch.yml" esConfig)
(pkgs.writeTextDir "logging.yml" cfg.logging) (if es5 then (pkgs.writeTextDir "log4j2.properties" cfg.logging)
else (pkgs.writeTextDir "logging.yml" cfg.logging))
]; ];
# Elasticsearch 5.x won't start when the scripts directory does not exist
postBuild = if es5 then "${pkgs.coreutils}/bin/mkdir -p $out/scripts" else "";
}; };
esPlugins = pkgs.buildEnv { esPlugins = pkgs.buildEnv {
name = "elasticsearch-plugins"; name = "elasticsearch-plugins";
paths = cfg.plugins; paths = cfg.plugins;
# Elasticsearch 5.x won't start when the plugins directory does not exist
postBuild = if es5 then "${pkgs.coreutils}/bin/mkdir -p $out/plugins" else "";
}; };
in { in {
@ -85,7 +99,19 @@ in {
logging = mkOption { logging = mkOption {
description = "Elasticsearch logging configuration."; description = "Elasticsearch logging configuration.";
default = '' default =
if es5 then ''
logger.action.name = org.elasticsearch.action
logger.action.level = info
appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
rootLogger.level = info
rootLogger.appenderRef.console.ref = console
'' else ''
rootLogger: INFO, console rootLogger: INFO, console
logger: logger:
action: INFO action: INFO
@ -112,6 +138,12 @@ in {
description = "Extra command line options for the elasticsearch launcher."; description = "Extra command line options for the elasticsearch launcher.";
default = []; default = [];
type = types.listOf types.str; type = types.listOf types.str;
};
extraJavaOptions = mkOption {
description = "Extra command line options for Java.";
default = [];
type = types.listOf types.str;
example = [ "-Djava.net.preferIPv4Stack=true" ]; example = [ "-Djava.net.preferIPv4Stack=true" ];
}; };
@ -133,13 +165,21 @@ in {
path = [ pkgs.inetutils ]; path = [ pkgs.inetutils ];
environment = { environment = {
ES_HOME = cfg.dataDir; ES_HOME = cfg.dataDir;
ES_JAVA_OPTS = toString ([ "-Des.path.conf=${configDir}" ] ++ cfg.extraJavaOptions);
}; };
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}"; ExecStart = "${cfg.package}/bin/elasticsearch ${toString cfg.extraCmdLineOptions}";
User = "elasticsearch"; User = "elasticsearch";
PermissionsStartOnly = true; PermissionsStartOnly = true;
LimitNOFILE = "1024000";
}; };
preStart = '' preStart = ''
# Only set vm.max_map_count if lower than ES required minimum
# This avoids conflict if configured via boot.kernel.sysctl
if [ `${pkgs.procps}/bin/sysctl -n vm.max_map_count` -lt 262144 ]; then
${pkgs.procps}/bin/sysctl -w vm.max_map_count=262144
fi
mkdir -m 0700 -p ${cfg.dataDir} mkdir -m 0700 -p ${cfg.dataDir}
# Install plugins # Install plugins

View File

@ -1550,10 +1550,10 @@
}) {}; }) {};
rainbow-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { rainbow-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "rainbow-mode"; pname = "rainbow-mode";
version = "0.12"; version = "0.13";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/rainbow-mode-0.12.el"; url = "https://elpa.gnu.org/packages/rainbow-mode-0.13.el";
sha256 = "10a7qs7fvw4qi4vxj9n56j26gjk61bl79dgz4md1d26slb2j1c04"; sha256 = "1d3aamx6qgqqpqijwsr02ggwrh67gfink1bir0692alfkm3zdddl";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -1564,10 +1564,10 @@
realgud = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, load-relative, loc-changes, test-simple }: realgud = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, load-relative, loc-changes, test-simple }:
elpaBuild { elpaBuild {
pname = "realgud"; pname = "realgud";
version = "1.4.3"; version = "1.4.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/realgud-1.4.3.tar"; url = "https://elpa.gnu.org/packages/realgud-1.4.4.tar";
sha256 = "07yfah8kmr60rhrj8y8gs7l85hsbylv26crw3qbqh67ka4ykpj01"; sha256 = "1nc8km339ip90h1j55ahfga03v7x7rh4iycmw6yrxyzir68vwn7c";
}; };
packageRequires = [ packageRequires = [
cl-lib cl-lib
@ -1730,10 +1730,10 @@
soap-client = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: soap-client = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "soap-client"; pname = "soap-client";
version = "3.1.1"; version = "3.1.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/soap-client-3.1.1.tar"; url = "https://elpa.gnu.org/packages/soap-client-3.1.2.tar";
sha256 = "0is2923g882farf73dix6ncq3m26yn5j5qr8wz6s0xad04zdbdhk"; sha256 = "0crfpp2ksqvzf2j3q44qq6z8zh1r10q9kw12cxbmjiih89q01b68";
}; };
packageRequires = [ cl-lib ]; packageRequires = [ cl-lib ];
meta = { meta = {

File diff suppressed because it is too large Load Diff

View File

@ -587,6 +587,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
melpaBuild {
pname = "ac-rtags";
version = "2.10";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
sha256 = "1w9v32di9135mm598c4506gxf0xr5jyz8dyd9dhga5d60q7g9641";
name = "ac-rtags";
};
packageRequires = [ auto-complete rtags ];
meta = {
homepage = "https://melpa.org/#/ac-rtags";
license = lib.licenses.free;
};
}) {};
ac-slime = callPackage ({ auto-complete, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }: ac-slime = callPackage ({ auto-complete, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }:
melpaBuild { melpaBuild {
pname = "ac-slime"; pname = "ac-slime";
@ -4006,12 +4027,12 @@
circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "circe"; pname = "circe";
version = "2.4"; version = "2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jorgenschaefer"; owner = "jorgenschaefer";
repo = "circe"; repo = "circe";
rev = "87f2d8604e41c6caf68cff3fcf61b1f4d4e8a961"; rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
sha256 = "19mjzws9hiqhaa8v0wxa369m3qzam2axvhcqcrggdjjsr7hyhvwr"; sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe"; url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
@ -5112,22 +5133,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
company-rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "company-rtags"; pname = "company-rtags";
version = "2.9"; version = "2.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936"; rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv"; sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
sha256 = "0dicxbp3xn02pflrpfndj7hs494prvz64llsk1xpc2z23kfarp6f"; sha256 = "0dicxbp3xn02pflrpfndj7hs494prvz64llsk1xpc2z23kfarp6f";
name = "company-rtags"; name = "company-rtags";
}; };
packageRequires = []; packageRequires = [ company emacs rtags ];
meta = { meta = {
homepage = "https://melpa.org/#/company-rtags"; homepage = "https://melpa.org/#/company-rtags";
license = lib.licenses.free; license = lib.licenses.free;
@ -7555,12 +7576,12 @@
easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "easy-hugo"; pname = "easy-hugo";
version = "0.7.7"; version = "0.9.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "masasam"; owner = "masasam";
repo = "emacs-easy-hugo"; repo = "emacs-easy-hugo";
rev = "99833cf30cfd702e5f04f7c4cd80217f17a56d70"; rev = "708bea9516812c6641ef8fc6f42dc087036addd8";
sha256 = "0a4g4zwwxl6gbql14fsnk1ax718vbdfjgczx5kwv3bl45ga928pc"; sha256 = "0yz0q3qvv9qxvwvjqd9zjqrrg6qxag092ni16vpni1mihw5803b8";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo"; url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@ -10912,12 +10933,12 @@
exwm-x = callPackage ({ cl-lib ? null, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper, switch-window }: exwm-x = callPackage ({ cl-lib ? null, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper, switch-window }:
melpaBuild { melpaBuild {
pname = "exwm-x"; pname = "exwm-x";
version = "0.8.1"; version = "1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumashu"; owner = "tumashu";
repo = "exwm-x"; repo = "exwm-x";
rev = "a928743ea35b21efb574fb9c77ea65c5084cccd1"; rev = "47952c09e74fc0da3135e7ba0d4fef0eb88f98dc";
sha256 = "0pv3r2b5lr1dxq5pr9y0gra08aklja7vd6q5r0gbp8ac71xbrg2g"; sha256 = "14mf388iygirlv7j5db2x5avn70b54mm34kd3y851n6i6yzgz7jw";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x"; url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x";
@ -12050,22 +12071,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
flycheck-rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "flycheck-rtags"; pname = "flycheck-rtags";
version = "2.9"; version = "2.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936"; rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv"; sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
sha256 = "00v6shfs7piqapmyqyi0fk3182rcfa3p8wr2cm5vqlrana13kbw4"; sha256 = "00v6shfs7piqapmyqyi0fk3182rcfa3p8wr2cm5vqlrana13kbw4";
name = "flycheck-rtags"; name = "flycheck-rtags";
}; };
packageRequires = []; packageRequires = [ emacs flycheck rtags ];
meta = { meta = {
homepage = "https://melpa.org/#/flycheck-rtags"; homepage = "https://melpa.org/#/flycheck-rtags";
license = lib.licenses.free; license = lib.licenses.free;
@ -12683,12 +12704,12 @@
flyspell-popup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: flyspell-popup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
melpaBuild { melpaBuild {
pname = "flyspell-popup"; pname = "flyspell-popup";
version = "0.2"; version = "0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xuchunyang"; owner = "xuchunyang";
repo = "flyspell-popup"; repo = "flyspell-popup";
rev = "a3890c9272c0cfa1e2cde6526f7d6280ad4af00c"; rev = "29311849bfd253b9b689bf331860b4c4d3bd4dde";
sha256 = "1rk7fsill0salrhb4anbf698nd21nxj8pni35brbmv64nj9fhfic"; sha256 = "0x7jilwb0fgzsr7ma59sgd0d4122cl0hwzr28vi3z5s8wdab7nc4";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/186d00724137c055b521a5f5c54acf71c4b16c32/recipes/flyspell-popup"; url = "https://raw.githubusercontent.com/milkypostman/melpa/186d00724137c055b521a5f5c54acf71c4b16c32/recipes/flyspell-popup";
@ -15679,12 +15700,12 @@
helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }: helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
melpaBuild { melpaBuild {
pname = "helm"; pname = "helm";
version = "2.7.0"; version = "2.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "emacs-helm"; owner = "emacs-helm";
repo = "helm"; repo = "helm";
rev = "bdc6711656954562ed721545ac22ee3a507110a3"; rev = "05a297dda6fe9dc42e04220275b0bf2a37b56582";
sha256 = "1zx41nwfpzc0zrzi3bm6pmja0rl1jl3brbybiww4f4kqh34d0ddj"; sha256 = "04l3sjvy5y7ph9h02y4jlasd98bihqn19ngpf2yhc0k5mdhkww1s";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm"; url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@ -15994,12 +16015,12 @@
helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "helm-core"; pname = "helm-core";
version = "2.7.0"; version = "2.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "emacs-helm"; owner = "emacs-helm";
repo = "helm"; repo = "helm";
rev = "bdc6711656954562ed721545ac22ee3a507110a3"; rev = "05a297dda6fe9dc42e04220275b0bf2a37b56582";
sha256 = "1zx41nwfpzc0zrzi3bm6pmja0rl1jl3brbybiww4f4kqh34d0ddj"; sha256 = "04l3sjvy5y7ph9h02y4jlasd98bihqn19ngpf2yhc0k5mdhkww1s";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@ -16957,6 +16978,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
melpaBuild {
pname = "helm-rtags";
version = "2.10";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
sha256 = "1vv6wnniplyls344qzgcf1ivv25c8qilax6sbhvsf46lvrwnr48n";
name = "helm-rtags";
};
packageRequires = [ helm rtags ];
meta = {
homepage = "https://melpa.org/#/helm-rtags";
license = lib.licenses.free;
};
}) {};
helm-rubygems-org = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: helm-rubygems-org = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "helm-rubygems-org"; pname = "helm-rubygems-org";
@ -19161,6 +19203,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
melpaBuild {
pname = "ivy-rtags";
version = "2.10";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
sha256 = "18f0jak643dd8lmx701wgk95miajabd8190ls35831slr28lqxsq";
name = "ivy-rtags";
};
packageRequires = [ ivy rtags ];
meta = {
homepage = "https://melpa.org/#/ivy-rtags";
license = lib.licenses.free;
};
}) {};
ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }: ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
melpaBuild { melpaBuild {
pname = "ivy-youtube"; pname = "ivy-youtube";
@ -21609,22 +21672,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
markdown-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "markdown-mode"; pname = "markdown-mode";
version = "2.1"; version = "2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jrblevin"; owner = "jrblevin";
repo = "markdown-mode"; repo = "markdown-mode";
rev = "c6eb56eff31f7961c9a00a5d18eaf939c2c40b7d"; rev = "e9bb47d8d87ae8205ed935a3b485e12c12e43aa9";
sha256 = "098lf4n4rpx00sm07sy8dwp683a4sb7x0p15mrfp268apir3kkxb"; sha256 = "1lccxj18zhhhrc87dzm8fd4989pgkvbfkrlp53bjbrzzkh9bd6vs";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
sha256 = "0gfb3hp87kpcrvxax3m5hsaclwwk1qmxc73cg26smzd1kjfwgz14"; sha256 = "0gfb3hp87kpcrvxax3m5hsaclwwk1qmxc73cg26smzd1kjfwgz14";
name = "markdown-mode"; name = "markdown-mode";
}; };
packageRequires = [ cl-lib ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
homepage = "https://melpa.org/#/markdown-mode"; homepage = "https://melpa.org/#/markdown-mode";
license = lib.licenses.free; license = lib.licenses.free;
@ -21955,12 +22018,12 @@
meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }: meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
melpaBuild { melpaBuild {
pname = "meghanada"; pname = "meghanada";
version = "0.7.9"; version = "0.7.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mopemope"; owner = "mopemope";
repo = "meghanada-emacs"; repo = "meghanada-emacs";
rev = "b12faec5b6698852be441efdf86ac0ff30b03f07"; rev = "71e28b98653ff269a30ddf32d8ecef43a8656d76";
sha256 = "0y9d0cvv5rdhcbsik3vilp6j1mgmnlwjpcvbhibgw4mfzaxcqz4k"; sha256 = "0wrxriqg3dn90za52pzsmvqaszkqmx0xmxkzghlq8s21xc21kznp";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada"; url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@ -22794,12 +22857,12 @@
msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "msvc"; pname = "msvc";
version = "1.3.0"; version = "1.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "yaruopooner"; owner = "yaruopooner";
repo = "msvc"; repo = "msvc";
rev = "71c38323187c98b32250b89088768599bb216ddb"; rev = "ffc7974f1cafb5e03bae2765afc6a984ffcb0f7e";
sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg"; sha256 = "155bgayysdyr5a9wpx78azpipd11s3k8ijgw4mpvbmkk5j7fi6a8";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc"; url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc";
@ -24771,6 +24834,26 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
org-mac-iCal = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "org-mac-iCal";
version = "7.9.3.5";
src = fetchgit {
url = "git://orgmode.org/org-mode.git";
rev = "592dc2ee7e4c80b9b61efb77117c8dc22d6cefd1";
sha256 = "0rvsn085r1sgvv0gwvjlfgn7371bjd254hdzamc97m122pqr7cxr";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal";
sha256 = "1ilzvmw1x5incagp1vf8d9v9mz0krlv7bpv428gg3gpqzpm6kksw";
name = "org-mac-iCal";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/org-mac-iCal";
license = lib.licenses.free;
};
}) {};
org-mime = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: org-mime = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "org-mime"; pname = "org-mime";
@ -29480,12 +29563,12 @@
rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "rtags"; pname = "rtags";
version = "2.9"; version = "2.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936"; rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv"; sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@ -29925,8 +30008,8 @@
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ensime"; owner = "ensime";
repo = "emacs-scala-mode"; repo = "emacs-scala-mode";
rev = "970d88eeff82df635ee12336ab1eb185585f30c6"; rev = "52091426ee319b4ec53799696bae75571f7ecbf6";
sha256 = "0wfv20dyb13v7fbfsvy0k5dajvmyyhn80l6xyx6kppiv3qmy9s90"; sha256 = "15vr1yz23h0kb7h3d6gh3ljax762666lkz53chqgm54bszgfwjcm";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode";
@ -30546,6 +30629,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
shr-tag-pre-highlight = callPackage ({ emacs, fetchFromGitHub, fetchurl, language-detection, lib, melpaBuild }:
melpaBuild {
pname = "shr-tag-pre-highlight";
version = "1";
src = fetchFromGitHub {
owner = "xuchunyang";
repo = "shr-tag-pre-highlight.el";
rev = "bc1bff471cf4adcd86d87b8c045623aff3b20889";
sha256 = "1lyam12wilvv8ir3x0ylyfinjh9g65aq6ia1s314fr0gc8hjk5z6";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7be3c139bee02e8bd9a9830026cbfdd17629ac4d/recipes/shr-tag-pre-highlight";
sha256 = "1v8fqx8bd5504r2mflq6x8xs3k0py3bgsnadz3bjs68yhaxacj3v";
name = "shr-tag-pre-highlight";
};
packageRequires = [ emacs language-detection ];
meta = {
homepage = "https://melpa.org/#/shr-tag-pre-highlight";
license = lib.licenses.free;
};
}) {};
shrink-whitespace = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: shrink-whitespace = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "shrink-whitespace"; pname = "shrink-whitespace";
@ -30588,6 +30692,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "shx";
version = "0.0.3";
src = fetchFromGitHub {
owner = "riscy";
repo = "shx-for-emacs";
rev = "bcdbc7142a0542639f47abb48fe17aa6c92f8406";
sha256 = "0wrxwjlkix5qgi3fvkaj9m43hyif9ba2bdyzc0hkig7ng0b99cjd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
sha256 = "0h5ldglx4y85lm0pfilasnch2k82mlr7rb20qvarzwd41hb1az1k";
name = "shx";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/shx";
license = lib.licenses.free;
};
}) {};
sift = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: sift = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "sift"; pname = "sift";
@ -31515,12 +31640,12 @@
spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }: spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }:
melpaBuild { melpaBuild {
pname = "spaceline-all-the-icons"; pname = "spaceline-all-the-icons";
version = "1.3.2"; version = "1.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "domtronn"; owner = "domtronn";
repo = "spaceline-all-the-icons.el"; repo = "spaceline-all-the-icons.el";
rev = "c2c0b9249204b8f9a405a63abf20d07ac8e8ef79"; rev = "d5750c0aa40a66c6d76c74540587b8cbb0142350";
sha256 = "0frg52kdfygzz9r1w1d39dmlgksfy07p54xyrcpwfzkg0hh7b80y"; sha256 = "1rjb7jpbizafxixqrwzzxgbah0b8b8wsmqxzvqdv867i5w6682p2";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons"; url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons";
@ -33442,12 +33567,12 @@
tracking = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: tracking = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "tracking"; pname = "tracking";
version = "2.4"; version = "2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jorgenschaefer"; owner = "jorgenschaefer";
repo = "circe"; repo = "circe";
rev = "87f2d8604e41c6caf68cff3fcf61b1f4d4e8a961"; rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
sha256 = "19mjzws9hiqhaa8v0wxa369m3qzam2axvhcqcrggdjjsr7hyhvwr"; sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking"; url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
@ -34078,12 +34203,12 @@
utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "utop"; pname = "utop";
version = "1.19.3"; version = "2.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "diml"; owner = "diml";
repo = "utop"; repo = "utop";
rev = "ee81ce49bab31757837bed35a182d29cbd54dfcb"; rev = "d658bd8f63ed6b23144fdba2ee3f2a6d77979c4f";
sha256 = "1p2vjxw0y6py5hly6vjl4gxm171n9pr4rkimxd0rg3dl1npvn99z"; sha256 = "1x96zxkvfq8mshgi654vvklrr7dqvq9can89n4jrrb82pcn06k5j";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop"; url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@ -34726,22 +34851,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
web-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "web-mode"; pname = "web-mode";
version = "14.1"; version = "15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fxbois"; owner = "fxbois";
repo = "web-mode"; repo = "web-mode";
rev = "44de4e0198051b52110d50d860db26ed770219f3"; rev = "aef2a32f6e5e2fdb7f38a650b009a737c67959e2";
sha256 = "0pbim6aw0w9z5bb0hl98bda1a19pjmfki6jr1mxcfi5yismk2863"; sha256 = "14x91pngh9i7r66inssc4jaqvzv2kb3bnbks5x2bhsidvls7s28r";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
sha256 = "1vyhyc5nf4yj2m63inpwmcqvlsihaqw8nn8xvfdg44nhl6vjz97i"; sha256 = "1vyhyc5nf4yj2m63inpwmcqvlsihaqw8nn8xvfdg44nhl6vjz97i";
name = "web-mode"; name = "web-mode";
}; };
packageRequires = []; packageRequires = [ emacs ];
meta = { meta = {
homepage = "https://melpa.org/#/web-mode"; homepage = "https://melpa.org/#/web-mode";
license = lib.licenses.free; license = lib.licenses.free;
@ -34939,12 +35064,12 @@
which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "which-key"; pname = "which-key";
version = "2.0.1"; version = "3.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "justbur"; owner = "justbur";
repo = "emacs-which-key"; repo = "emacs-which-key";
rev = "3c7ecc69d48258af66978a685aedcbc8d1ada512"; rev = "3ff303b50495d492cfac70cc9f7321971928bdb1";
sha256 = "1q6v4bnw9sl6f138lxkqp979xpbgsb57gxj8a1k7clms16kkn5ci"; sha256 = "1q0rg13lq31fqnkpkss61pfyx7ib7i4r1jbcavpjyr5gqcb08fzm";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key"; url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@ -35442,12 +35567,12 @@
writeroom-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, visual-fill-column }: writeroom-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, visual-fill-column }:
melpaBuild { melpaBuild {
pname = "writeroom-mode"; pname = "writeroom-mode";
version = "3.6.1"; version = "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "joostkremers"; owner = "joostkremers";
repo = "writeroom-mode"; repo = "writeroom-mode";
rev = "f853350da848d0814f822587ae310e52d895f523"; rev = "d3252f54c8f9f37a19d6a21fb2291c3da7a7121a";
sha256 = "1al4ch96p0c8qf51pqv62nl3cwz05w8s2cgkxl01ff3l9y7qjsvz"; sha256 = "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode";
@ -35906,8 +36031,8 @@
version = "1.78"; version = "1.78";
src = fetchhg { src = fetchhg {
url = "https://www.yatex.org/hgrepos/yatex/"; url = "https://www.yatex.org/hgrepos/yatex/";
rev = "9db0e1522847"; rev = "c940797c19ad";
sha256 = "17f0n7la3p72n8qmdlfq1i9plr3cqc0gsd758lz103a8rbp9aj1d"; sha256 = "17jc65kaf37c86karq5fl2417i5csq5gn4yqagjzlik1cd6vrj03";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex"; url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex";

View File

@ -26,17 +26,18 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
patchShebangs share/extensions patchShebangs share/extensions
patchShebangs fix-roff-punct patchShebangs fix-roff-punct
'';
# Python is used at run-time to execute scripts, e.g., those from # Python is used at run-time to execute scripts, e.g., those from
# the "Effects" menu. # the "Effects" menu.
propagatedBuildInputs = [ python2Env ]; substituteInPlace src/extension/implementation/script.cpp \
--replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
'';
buildInputs = [ buildInputs = [
pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
makeWrapper intltool gsl poppler imagemagick libwpg librevenge makeWrapper intltool gsl poppler imagemagick libwpg librevenge
libvisio libcdr libexif automake114x potrace cmake libvisio libcdr libexif automake114x potrace cmake python2Env
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "pachyderm-${version}"; name = "pachyderm-${version}";
version = "1.3.0"; version = "1.4.6";
rev = "v${version}"; rev = "v${version}";
goPackagePath = "github.com/pachyderm/pachyderm"; goPackagePath = "github.com/pachyderm/pachyderm";
@ -12,7 +12,7 @@ buildGoPackage rec {
inherit rev; inherit rev;
owner = "pachyderm"; owner = "pachyderm";
repo = "pachyderm"; repo = "pachyderm";
sha256 = "0y25xh6h7p8hg0bzrjlschmz62r6dwh5mrvbnni1hb1pm0w9jb6g"; sha256 = "1fivihn9s04lmzdiwg0f05qm708fb14xy81pbc31wxdyjw28m8ns";
}; };
meta = with lib; { meta = with lib; {

View File

@ -48,13 +48,9 @@ in {
sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb"; sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb";
}; };
terraform_0_9_4 = generic { terraform_0_9_6 = generic {
version = "0.9.4"; version = "0.9.6";
sha256 = "07vcmjyl0y48hm5lqqzdd51hmrxapvywzbdkg5f3rcqd7dn9c2xs"; sha256 = "1f6z1zkklzpqgc7akgdz1g306ccmhni5lmg7i6g762n3qai60bnv";
postPatch = ''
rm builtin/providers/dns/data_dns_cname_record_set_test.go
rm builtin/providers/vsphere/resource_vsphere_file_test.go
'';
doCheck = true; doCheck = true;
}; };
} }

View File

@ -13,13 +13,13 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dino-unstable-2017-05-11"; name = "dino-unstable-2017-05-31";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dino"; owner = "dino";
repo = "dino"; repo = "dino";
rev = "b09a056a13de131a4f2f072ffa2f795a0bb2abe7"; rev = "2480c1ec26a8e0ccef3ea76e3c29566221405ffb";
sha256 = "1dis1kgaqb1925anmxlcy9n722zzyn5wvq8lmczi6h2h3j7wnnmz"; sha256 = "0wdjj38gbr2j6yklna3pd8nsfpdfp1j936dy8s49pzayw4pxs2g2";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "insync-${version}"; name = "insync-${version}";
version = "1.3.13.36129"; version = "1.3.16.36155";
src = fetchurl { src = fetchurl {
url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2"; url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
sha256 = "18d8ww529nvhwcl5k31qmkzb83k9753ics0dw64w202r8vwbm3cd"; sha256 = "1gf1qg7mkbcgqhwxkiljmd1w2zvarq6vhxhips3w06bqdyg12210";
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];

View File

@ -20,11 +20,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mutt-${version}"; name = "mutt-${version}";
version = "1.8.2"; version = "1.8.3";
src = fetchurl { src = fetchurl {
url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz"; url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
sha256 = "0dgjjryp1ggbc6ivy9cfz5jl3gnbahb6d6hcwn7c7wk5npqpn18x"; sha256 = "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv";
}; };
patchPhase = optionalString (openssl != null) '' patchPhase = optionalString (openssl != null) ''

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, qmakeHook, qtscript }: { stdenv, fetchurl, qmakeHook, qtscript }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "smplayer-17.4.2"; name = "smplayer-17.6.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "1lc5pj0y56yynygb7cnl98lpvsf82rc0aa4si8isn81nvy07hmq5"; sha256 = "0kgrkn50sgr79jfj66p59wka17prnxibf7fbfpg5m0n95kdkr7rg";
}; };
buildInputs = [ qtscript ]; buildInputs = [ qtscript ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, qmakeHook, qtscript, qtwebkit }: { stdenv, fetchurl, qmakeHook, qtscript, qtwebkit }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "17.1.0"; version = "17.5.0";
name = "smtube-${version}"; name = "smtube-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2"; url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2";
sha256 = "1kg45qkr7nvchy9ih24vlbpkn6vd8v8qw5xqsjhjpjkizcmzaa61"; sha256 = "13m0ll18n1da8i4r4b7gn0jjz9dgrkkyk9mpfas4rgnjw92m5jld";
}; };
makeFlags = [ makeFlags = [

View File

@ -54,25 +54,25 @@ let
+ stdenv.lib.optionalString (!withGui) "-core"; + stdenv.lib.optionalString (!withGui) "-core";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.6.12"; version = "1.8.2";
name = "${flavor}-${version}"; name = "${flavor}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "arduino"; owner = "arduino";
repo = "Arduino"; repo = "Arduino";
rev = "${version}"; rev = "${version}";
sha256 = "0rz8dv1mncwx2wkafakxqdi2y0rq3f72fr57cg0z5hgdgdm89lkh"; sha256 = "1ssznjmzmahayslj2xnci9b5wpsl53nyg85say54akng93qipmfb";
}; };
teensyduino_src = fetchurl { teensyduino_src = fetchurl {
url = "http://www.pjrc.com/teensy/td_131/TeensyduinoInstall.${teensy_architecture}"; url = "https://www.pjrc.com/teensy/td_136/TeensyduinoInstall.${teensy_architecture}";
sha256 = sha256 =
lib.optionalString ("${teensy_architecture}" == "linux64") lib.optionalString ("${teensy_architecture}" == "linux64")
"1q4wv6s0900hyv9z1mjq33fr2isscps4q3bsy0h12wi3l7ir94g9" "0qvb5z9y6nsqy0kzib9fvvbn8dakl50vib6r3nm6bnpvyxzwjl2r"
+ lib.optionalString ("${teensy_architecture}" == "linux32") + lib.optionalString ("${teensy_architecture}" == "linux32")
"06fl951f44avqyqim5qmy73siylbqcnsmz55zmj2dzhgf4sflkvc" "14ca62vq7cpx269vfd92shi80qj8spf0dzli8gfcb39ss2zc4jf1"
+ lib.optionalString ("${teensy_architecture}" == "linuxarm") + lib.optionalString ("${teensy_architecture}" == "linuxarm")
"0ldf33w8wkqwklcj8fn4p22f23ibpwpf7873dc6i2jfmmbx0yvxn"; "122z1gxcgkmwjb8wdklb2w8c3qkj5rc1ap5n4a8fi3kjz29va9rx";
}; };
buildInputs = [ jdk ant libusb libusb1 unzip zlib ncurses5 readline buildInputs = [ jdk ant libusb libusb1 unzip zlib ncurses5 readline
@ -93,6 +93,10 @@ stdenv.mkDerivation rec {
cp -v $file_src $file_dst cp -v $file_src $file_dst
done done
# Deliberately break build.xml's download statement in order to cause
# an error if anything needed is missing from download.nix.
substituteInPlace build/build.xml --replace "get src" "get error"
cd ./arduino-core && ant cd ./arduino-core && ant
cd ../build && ant cd ../build && ant
cd .. cd ..
@ -208,7 +212,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Open-source electronics prototyping platform"; description = "Open-source electronics prototyping platform";
homepage = http://arduino.cc/; homepage = http://arduino.cc/;
license = stdenv.lib.licenses.gpl2; license = if withTeensyduino then licenses.unfreeRedistributable else licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ antono auntie robberer bjornfor ]; maintainers = with maintainers; [ antono auntie robberer bjornfor ];
}; };

View File

@ -2,28 +2,28 @@
{ {
"build/shared/reference-1.6.6-3.zip" = fetchurl { "build/shared/reference-1.6.6-3.zip" = fetchurl {
url = "http://downloads.arduino.cc/reference-1.6.6-3.zip"; url = "https://downloads.arduino.cc/reference-1.6.6-3.zip";
sha256 = "119nj1idz85l71fy6a6wwsx0mcd8y0ib1wy0l6j9kz88nkwvggy3"; sha256 = "119nj1idz85l71fy6a6wwsx0mcd8y0ib1wy0l6j9kz88nkwvggy3";
}; };
"build/shared/Galileo_help_files-1.6.2.zip" = fetchurl { "build/shared/Galileo_help_files-1.6.2.zip" = fetchurl {
url = "http://downloads.arduino.cc/Galileo_help_files-1.6.2.zip"; url = "https://downloads.arduino.cc/Galileo_help_files-1.6.2.zip";
sha256 = "0qda0xml353sfhjmx9my4mlcyzbf531k40dcr1cnsa438xp2fw0w"; sha256 = "0qda0xml353sfhjmx9my4mlcyzbf531k40dcr1cnsa438xp2fw0w";
}; };
"build/shared/Edison_help_files-1.6.2.zip" = fetchurl { "build/shared/Edison_help_files-1.6.2.zip" = fetchurl {
url = "http://downloads.arduino.cc/Edison_help_files-1.6.2.zip"; url = "https://downloads.arduino.cc/Edison_help_files-1.6.2.zip";
sha256 = "1x25rivmh0zpa6lr8dafyxvim34wl3wnz3r9msfxg45hnbjqqwan"; sha256 = "1x25rivmh0zpa6lr8dafyxvim34wl3wnz3r9msfxg45hnbjqqwan";
}; };
"build/Firmata-2.5.3.zip" = fetchurl { "build/Firmata-2.5.6.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Firmata/archive/2.5.3.zip"; url = "https://github.com/arduino-libraries/Firmata/archive/2.5.6.zip";
sha256 = "1ims6bdmwv8lgcvd4ri4i39vqm1q5jbwirmki35bybqqb1sl171v"; sha256 = "117dd4pdlgv60gdlgm2ckjfq89i0dg1q8vszg6hxywdf701c1fk4";
}; };
"build/Bridge-1.6.3.zip" = fetchurl { "build/Bridge-1.6.3.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Bridge/archive/1.6.3.zip"; url = "https://github.com/arduino-libraries/Bridge/archive/1.6.3.zip";
sha256 = "1lha5wkzz63bgcn7bhx4rmgsh9ywa47lffycpyz6qjnl1pvm5mmj"; sha256 = "1lha5wkzz63bgcn7bhx4rmgsh9ywa47lffycpyz6qjnl1pvm5mmj";
}; };
"build/Robot_Control-1.0.2.zip" = fetchurl { "build/Robot_Control-1.0.3.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.2.zip"; url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.3.zip";
sha256 = "1wdpz3ilnza3lfd5a628dryic46j72h4a89y8vp0qkbscvifcvdk"; sha256 = "1pc3b8skbpx7j32jnxa67mfqhnsmfz3876pc9mdyzpsad4mmcn62";
}; };
"build/Robot_Motor-1.0.2.zip" = fetchurl { "build/Robot_Motor-1.0.2.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Robot_Motor/archive/1.0.2.zip"; url = "https://github.com/arduino-libraries/Robot_Motor/archive/1.0.2.zip";
@ -37,9 +37,9 @@
url = "https://github.com/arduino-libraries/SpacebrewYun/archive/1.0.1.zip"; url = "https://github.com/arduino-libraries/SpacebrewYun/archive/1.0.1.zip";
sha256 = "1zs6ymlzw66bglrm0x6d3cvr52q85c8rlm525x0wags111xx3s90"; sha256 = "1zs6ymlzw66bglrm0x6d3cvr52q85c8rlm525x0wags111xx3s90";
}; };
"build/Temboo-1.1.7.zip" = fetchurl { "build/Temboo-1.2.1.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Temboo/archive/1.1.7.zip"; url = "https://github.com/arduino-libraries/Temboo/archive/1.2.1.zip";
sha256 = "0fq2q6qs0qp15njsl9dif8dkpxgb4cgg8jk3s5y0fcz9lb8m2j50"; sha256 = "1fyzfihsbcjpjasqbmbbfcall2zl48nzrp4xk9pslppal31mvl8x";
}; };
"build/Esplora-1.0.4.zip" = fetchurl { "build/Esplora-1.0.4.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Esplora/archive/1.0.4.zip"; url = "https://github.com/arduino-libraries/Esplora/archive/1.0.4.zip";
@ -53,72 +53,100 @@
url = "https://github.com/arduino-libraries/Keyboard/archive/1.0.1.zip"; url = "https://github.com/arduino-libraries/Keyboard/archive/1.0.1.zip";
sha256 = "1spv73zhjbrb0vgpzjnh6wr3bddlbyzv78d21dbn8z2l0aqv2sac"; sha256 = "1spv73zhjbrb0vgpzjnh6wr3bddlbyzv78d21dbn8z2l0aqv2sac";
}; };
"build/SD-1.1.1.zip" = fetchurl {
url = "https://github.com/arduino-libraries/SD/archive/1.1.1.zip";
sha256 = "0nackcf7yx5np1s24wnsrcjl8j0nlmqqir6316vqqkfayvb1247n";
};
"build/Servo-1.1.2.zip" = fetchurl {
url = "https://github.com/arduino-libraries/Servo/archive/1.1.2.zip";
sha256 = "14k1883qrx425wnm0r8kszzq32yvvs3jwxf3g7ybp7v0ga0q47l7";
};
"build/Adafruit_CircuitPlayground-1.6.4.zip" = fetchurl {
url = "https://github.com/Adafruit/Adafruit_CircuitPlayground/archive/1.6.4.zip";
sha256 = "1ph7m0l1sfx9db56n2h6vi78pn3zyah813lfhqiqghncx34amrhj";
};
"build/libastylej-2.05.1-3.zip" = fetchurl { "build/libastylej-2.05.1-3.zip" = fetchurl {
url = "http://downloads.arduino.cc/libastylej-2.05.1-3.zip"; url = "https://downloads.arduino.cc/libastylej-2.05.1-3.zip";
sha256 = "0a1xy2cdl0xls5r21vy5d2j1dapn1jsdw0vbimlwnzfx7r84mxa6"; sha256 = "0a1xy2cdl0xls5r21vy5d2j1dapn1jsdw0vbimlwnzfx7r84mxa6";
}; };
"build/liblistSerials-1.1.4.zip" = fetchurl { "build/liblistSerials-1.4.0.zip" = fetchurl {
url = "http://downloads.arduino.cc/liblistSerials/liblistSerials-1.1.4.zip"; url = "https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.0.zip";
sha256 = "1w0zs155hs5b87i5wj049hfj2jsnf9jk30qq93wz1mxab01261v0"; sha256 = "129mfbyx7snq3znzhkfbdjiifdr85cwk6wjn8l9ia0wynszs5zyv";
}; };
"build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.8.0.zip" = fetchurl { "build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.9.0.zip" = fetchurl {
url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.8.0/WiFi101-Updater-ArduinoIDE-Plugin-0.8.0.zip"; url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.9.0/WiFi101-Updater-ArduinoIDE-Plugin-0.9.0.zip";
sha256 = "0fp4mb1qa3w02hrwd51wf261l8ywcl36mi9wipsrgx2y29pk759z"; sha256 = "1nkk87q2l3bs9y387hdxzgqllm0lqpmc5kdmr6my4hjz5lcpgbza";
}; };
} }
// optionalAttrs (system == "x86_64-linux") { // optionalAttrs (system == "x86_64-linux") {
"build/arduino-builder-linux64-1.3.21_r1.tar.bz2" = fetchurl { "build/arduino-builder-linux64-1.3.25.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.21_r1.tar.bz2"; url = "https://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.25.tar.bz2";
sha256 = "1cqx5smzm4dhbj2ah191vbbxi0l7xj95c5gcdbgqm9283hrpfrn7"; sha256 = "15y80p255w2rg028vc8dq4hpqsmf770qigv3hgf78npb4qrjnqqf";
}; };
"build/linux/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { "build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2"; url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2";
sha256 = "124icbjh28cax6pgg6bzrfdi27shsn9mjjshgrr93pczpg8sc0rr"; sha256 = "132qm8l6h50z4s9h0i5mfv6bp0iia0pp9kc3gd37hkajy4bh4j0r";
}; };
"build/linux/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { "build/linux/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2"; url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2";
sha256 = "08b6dbllnvzv1aqx0v037zks4r3vqcx6yxxv040wf431mmf8gd4p"; sha256 = "0shz5ymnlsrbnaqcb13fwbd73hz9k45adw14gf1ywjgywa2cpk68";
};
"build/linux/arduinoOTA-1.1.1-linux_amd64.tar.bz2" = fetchurl {
url = "https://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_amd64.tar.bz2";
sha256 = "0xy25srvpz6d0yfnz8b17mkmary3k51lb1cvgw7n2zyxayjd0npb";
}; };
} }
// optionalAttrs (system == "i686-linux") { // optionalAttrs (system == "i686-linux") {
"build/arduino-builder-linux32-1.3.21_r1.tar.bz2" = fetchurl { "build/arduino-builder-linux32-1.3.25.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.21_r1.tar.bz2"; url = "https://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.25.tar.bz2";
sha256 = "1prfwb5scprvd74gihd78ibsdy3806b0fsjhgyj9in4w1q8s3dxj"; sha256 = "0hjiqbf7xspdcr7lganqnl68qcmndc9pz06dghkrwzbzc5ki72qr";
}; };
"build/linux/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2" = fetchurl { "build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2"; url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2";
sha256 = "0s7chsp1jyk477zvfaraf0yacvlzahkwqxpws4k0kjadghg9a27i"; sha256 = "1d81z5m4cklv29hgb5ywrmyq64ymlwmjx2plm1gzs1mcpg7d9ab3";
}; };
"build/linux/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2" = fetchurl { "build/linux/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2"; url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2";
sha256 = "1yyn016b5162j94nmqcznfabi5y2ly27z2whr77387bvjnqc8jsz"; sha256 = "12r1drjafxwzrvf1y1glxd46rv870mhz1ifn0g328ciwivas4da2";
};
"build/linux/arduinoOTA-1.1.1-linux_386.tar.bz2" = fetchurl {
url = "https://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_386.tar.bz2";
sha256 = "1vvilbbbvv68svxzyhjspacbavcqakph5glhnz7c0mxkspqixjbs";
}; };
} }
// optionalAttrs (system == "x86_64-darwin") { // optionalAttrs (system == "x86_64-darwin") {
"build/arduino-builder-macosx-1.3.21_r1.tar.bz2" = fetchurl { "build/arduino-builder-macosx-1.3.25.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.21_r1.tar.bz2"; url = "https://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.25.tar.bz2";
sha256 = "06y5j1z9jjnqa7v6nl9dflm1qqpf3ar1jc53zxgdgsrb9c473d8l"; sha256 = "0inkxjzdplb8b17j7lyam6v9gca25rxmsinrkgqnx3xxgkaxz2k0";
}; };
"build/linux/avr-gcc-4.9.2-arduino5-i386-apple-darwin11.tar.bz2" = fetchurl { "build/macosx/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i386-apple-darwin11.tar.bz2"; url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2";
sha256 = "12r4a1q7mh1gbasy7lqn0p4acg699lglw7il9d5f5vwd32pmh4ii"; sha256 = "0c27i3y4f5biinxjdpp43wbj00lz7dvl08pnqr7hpkzaalsyvcv7";
}; };
"build/linux/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2" = fetchurl { "build/macosx/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2"; url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2";
sha256 = "11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r"; sha256 = "0rc4x8mcsva4v6j7ssfj8rdyg14l2pd9ivgdm39m5wnz8b06p85z11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r";
};
"build/macosx/appbundler/appbundler-1.0ea-arduino4.jar.zip" = fetchurl {
url = "https://downloads.arduino.cc/appbundler-1.0ea-arduino4.jar.zip";
sha256 = "1vz0g98ancfqdf7yx5m3zrxmzb3fwp18zh5lkh2nyl5xlr9m368z";
}; };
} }
// optionalAttrs (system == "armv6l-linux") { // optionalAttrs (system == "armv6l-linux") {
"build/arduino-builder-arm-1.3.21_r1.tar.bz2" = fetchurl { "build/arduino-builder-linuxarm-1.3.25.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/arduino-builder-arm-1.3.21_r1.tar.bz2"; url = "https://downloads.arduino.cc/tools/arduino-builder-linuxarm-1.3.25.tar.bz2";
sha256 = "1ik6r5n6g20x4pb0vbxbkqxgzj39f13n995ki9xgpsrq22x6g1n4"; sha256 = "1jvlihpcbdv1sgq1wjdwp7dhznk7nd88zin6yj40kr80gcd2ykry";
}; };
"build/linux/avr-gcc-4.9.2-arduino5-armhf-pc-linux-gnu.tar.bz2" = fetchurl { "build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-armhf-pc-linux-gnu.tar.bz2"; url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2";
sha256 = "08b8z7ca0wcgzxmjz6q5ihjrm3i10frnrcqpvwjrlsxw37ah1wvp"; sha256 = "033jb1vmspcxsv0w9pk73xv195xnbnmckjsiccgqs8xx36g00dpf";
}; };
"build/linux/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2" = fetchurl { "build/linux/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2"; url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2";
sha256 = "1rybp4hgk0mm7dydr3rj7yx59jzi30s4kyadzkjv13nm4ds209i4"; sha256 = "1kp1xry97385zbrs94j285h1gqlzyyhkchh26z7zq6c0wi5879i5";
};
"build/linux/arduinoOTA-1.1.1-linux_arm.tar.bz2" = fetchurl {
url = "https://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_arm.tar.bz2";
sha256 = "0k1pib8lmvk6c0y3m038fj3mc18ax1hy3kbvgd5nygrxvy1hv274";
}; };
} }

View File

@ -1,11 +1,12 @@
{stdenv, fetchurl, bison, flex}: {stdenv, fetchurl, bison, flex}:
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "iasl-20130117"; name = "iasl-${version}";
version = "20170303";
src = fetchurl { src = fetchurl {
url = http://www.acpica.org/download/acpica-unix-20130117.tar.gz; url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
sha256 = "1zils7l7gnkbbl8916dlhvij1g625ryb7769zhzffn3flshfdivh"; sha256 = "1dc933rr11gv1nlaf5j8ih1chdakbjbjkn34jgbm330zppmck4y0";
}; };
NIX_CFLAGS_COMPILE = "-O3"; NIX_CFLAGS_COMPILE = "-O3";

View File

@ -2,6 +2,7 @@
, compilerConfig ? (self: super: {}) , compilerConfig ? (self: super: {})
, packageSetConfig ? (self: super: {}) , packageSetConfig ? (self: super: {})
, overrides ? (self: super: {}) , overrides ? (self: super: {})
, initialPackages ? import ./hackage-packages.nix
}: }:
let let
@ -10,7 +11,7 @@ let
inherit (import ./lib.nix { inherit pkgs; }) overrideCabal makePackageSet; inherit (import ./lib.nix { inherit pkgs; }) overrideCabal makePackageSet;
haskellPackages = makePackageSet { haskellPackages = makePackageSet {
package-set = import ./hackage-packages.nix; package-set = initialPackages;
inherit ghc; inherit ghc;
}; };

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
''; '';
buildPhase = '' buildPhase = ''
make sharedlib NDEBUG=1 make sharedlib NDEBUG=1 "LDFLAGS=-lX11 -lGL -lXxf86vm"
''; '';
preInstall = '' preInstall = ''

View File

@ -1,8 +1,8 @@
# This file has been generated by node2nix 1.2.0. Do not edit! # This file has been generated by node2nix 1.1.1. Do not edit!
{pkgs ? import <nixpkgs> { {pkgs ? import <nixpkgs> {
inherit system; inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-4_x"}: }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs"}:
let let
nodeEnv = import ./node-env.nix { nodeEnv = import ./node-env.nix {

View File

@ -1,4 +1,4 @@
# This file has been generated by node2nix 1.2.0. Do not edit! # This file has been generated by node2nix 1.1.1. Do not edit!
{pkgs ? import <nixpkgs> { {pkgs ? import <nixpkgs> {
inherit system; inherit system;

View File

@ -57,6 +57,60 @@ let
# Recursively composes the dependencies of a package # Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [], ... }@args: composePackage = { name, packageName, src, dependencies ? [], ... }@args:
let
fixImpureDependencies = writeTextFile {
name = "fixDependencies.js";
text = ''
var fs = require('fs');
var url = require('url');
/*
* Replaces an impure version specification by *
*/
function replaceImpureVersionSpec(versionSpec) {
var parsedUrl = url.parse(versionSpec);
if(versionSpec == "latest" || versionSpec == "unstable" ||
versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
return '*';
else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
return '*';
else
return versionSpec;
}
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Replace dependencies */
if(packageObj.dependencies !== undefined) {
for(var dependency in packageObj.dependencies) {
var versionSpec = packageObj.dependencies[dependency];
packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Replace development dependencies */
if(packageObj.devDependencies !== undefined) {
for(var dependency in packageObj.devDependencies) {
var versionSpec = packageObj.devDependencies[dependency];
packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Replace optional dependencies */
if(packageObj.optionalDependencies !== undefined) {
for(var dependency in packageObj.optionalDependencies) {
var versionSpec = packageObj.optionalDependencies[dependency];
packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Write the fixed JSON file */
fs.writeFileSync("package.json", JSON.stringify(packageObj));
'';
};
in
'' ''
DIR=$(pwd) DIR=$(pwd)
cd $TMPDIR cd $TMPDIR
@ -96,97 +150,17 @@ let
# Unset the stripped name to not confuse the next unpack step # Unset the stripped name to not confuse the next unpack step
unset strippedName unset strippedName
# Include the dependencies of the package # Some version specifiers (latest, unstable, URLs, file paths) force NPM to make remote connections or consult paths outside the Nix store.
# The following JavaScript replaces these by * to prevent that
cd "$DIR/${packageName}" cd "$DIR/${packageName}"
node ${fixImpureDependencies}
# Include the dependencies of the package
${includeDependencies { inherit dependencies; }} ${includeDependencies { inherit dependencies; }}
cd .. cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
''; '';
pinpointDependencies = {dependencies, production}:
let
pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js";
text = ''
var fs = require('fs');
var path = require('path');
function resolveDependencyVersion(location, name) {
if(location == process.env['NIX_STORE']) {
return null;
} else {
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
if(fs.existsSync(dependencyPackageJSON)) {
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
if(dependencyPackageObj.name == name) {
return dependencyPackageObj.version;
}
} else {
return resolveDependencyVersion(path.resolve(location, ".."), name);
}
}
}
function replaceDependencies(dependencies) {
if(typeof dependencies == "object" && dependencies !== null) {
for(var dependency in dependencies) {
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
if(resolvedVersion === null) {
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
} else {
dependencies[dependency] = resolvedVersion;
}
}
}
}
/* Read the package.json configuration */
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Pinpoint all dependencies */
replaceDependencies(packageObj.dependencies);
if(process.argv[2] == "development") {
replaceDependencies(packageObj.devDependencies);
}
replaceDependencies(packageObj.optionalDependencies);
/* Write the fixed package.json file */
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
'';
};
in
''
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
${stdenv.lib.optionalString (dependencies != [])
''
if [ -d node_modules ]
then
cd node_modules
${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
cd ..
fi
''}
'';
# Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually
# being used.
pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
''
if [ -d "${packageName}" ]
then
cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }}
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
fi
'';
# Extract the Node.js source code which is used to compile packages with # Extract the Node.js source code which is used to compile packages with
# native bindings # native bindings
nodeSources = runCommand "node-sources" {} '' nodeSources = runCommand "node-sources" {} ''
@ -209,9 +183,7 @@ let
buildPhase = args.buildPhase or "true"; buildPhase = args.buildPhase or "true";
compositionScript = composePackage args; compositionScript = composePackage args;
pinpointDependenciesScript = pinpointDependenciesOfPackage args; passAsFile = [ "compositionScript" ];
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
installPhase = args.installPhase or '' installPhase = args.installPhase or ''
# Create and enter a root node_modules/ folder # Create and enter a root node_modules/ folder
@ -221,10 +193,6 @@ let
# Compose the package and all its dependencies # Compose the package and all its dependencies
source $compositionScriptPath source $compositionScriptPath
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from # Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible # calling executables outside the Nix store as much as possible
patchShebangs . patchShebangs .
@ -286,19 +254,13 @@ let
buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or []; buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
includeScript = includeDependencies { inherit dependencies; }; includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args; passAsFile = [ "includeScript" ];
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
buildCommand = '' buildCommand = ''
mkdir -p $out/lib mkdir -p $out/lib
cd $out/lib cd $out/lib
source $includeScriptPath source $includeScriptPath
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Create fake package.json to make the npm commands work properly # Create fake package.json to make the npm commands work properly
cat > package.json <<EOF cat > package.json <<EOF
{ {

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,7 @@
, "jshint" , "jshint"
, "json" , "json"
, "jsontool" , "jsontool"
, "json-server"
, "js-yaml" , "js-yaml"
, "karma" , "karma"
, { "kibana-authentication-proxy": "git://github.com/fangli/kibana-authentication-proxy.git" } , { "kibana-authentication-proxy": "git://github.com/fangli/kibana-authentication-proxy.git" }

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +0,0 @@
{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "base is not available for OCaml ${ocaml.version}" else
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-base-0.9.0";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/base-v0.9.0.tar.gz;
sha256 = "0pdpa3hflbqn978ppvv5y08cjya0k8xpf1h0kcak6bdrmnmiwlyx";
};
buildInputs = [ ocaml jbuilder findlib ];
inherit (jbuilder) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
homepage = https://github.com/janestreet/base;
description = "Full standard library replacement for OCaml";
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, core_kernel, ppx_jane
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-async_kernel-113.33.00";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/async_kernel-113.33.00.tar.gz;
sha256 = "1kkkqpdd3mq9jh3b3l1yk37841973lh6g3pfv8fcjzif4n7myf15";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
propagatedBuildInputs = [ core_kernel ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, async_kernel, core, ppx_jane
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-async_unix-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/async_unix-113.33.00+4.03.tar.gz;
sha256 = "12b0ffq9yhv3f49kk2k7z7hrn2j4xlka7knm99hczl6gmjni7nqv";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
propagatedBuildInputs = [ async_kernel core ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_jane, core_kernel
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-core-113.33.02+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/core-113.33.02+4.03.tar.gz;
sha256 = "1gvd5saa0sdgyv9w09imqlkw0c21v2ixic8fxx14jxrwck0zn4bc";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
propagatedBuildInputs = [ core_kernel ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ppx_jane
, bin_prot, fieldslib, typerep, variantslib
, ppx_assert, ppx_bench, ppx_expect, ppx_inline_test
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-core_kernel-113.33.01+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/core_kernel-113.33.01+4.03.tar.gz;
sha256 = "0ra2frspqjqk1wbb58lrb0anrgsyhja00zsybka85qy71lblamfs";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
propagatedBuildInputs = [
bin_prot fieldslib typerep variantslib
ppx_assert ppx_bench ppx_expect ppx_inline_test
];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -0,0 +1,605 @@
{ lib, janePackage, ocamlbuild, cryptokit, ctypes, magic-mime,
ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith,
openssl }:
rec {
# Jane Street packages, up to ppx_core
sexplib = janePackage {
name = "sexplib";
version = "0.9.1";
hash = "087md38l73lp24j2lmwi053jjav00k11r06s6whmff1xlhj70wdj";
meta.description = "Automated S-expression conversion";
};
base = janePackage {
name = "base";
version = "0.9.1";
hash = "09gj30zyv23gv3gkf2pb3d3ywmkgd74dq8sfaps5xarr3grvndhm";
propagatedBuildInputs = [ sexplib ];
meta.description = "Full standard library replacement for OCaml";
};
ocaml-compiler-libs = janePackage {
name = "ocaml-compiler-libs";
hash = "1jz3nfrb6295sj4xj1j0zld8mhfj0xy2k4vlp9yf9sh3748n090l";
meta.description = "OCaml compiler libraries repackaged";
};
ppx_ast = janePackage {
name = "ppx_ast";
hash = "0p9v4q3cjz8wwdrh6bjidani2npzvhdy8isnqwigqkl6n326dba9";
propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
meta.description = "OCaml AST used by Jane Street ppx rewriters";
};
ppx_traverse_builtins = janePackage {
name = "ppx_traverse_builtins";
hash = "10ajvz02ka6qimlfrq7py4ljhk8awqkga6240kn8j046b4xfyxzi";
meta.description = "Builtins for Ppx_traverse";
};
stdio = janePackage {
name = "stdio";
hash = "1c08jg930j7yxn0sjvlm3fs2fvwaf15sn9513yf1rb7y1lxrgwc4";
propagatedBuildInputs = [ base ];
meta.description = "Standard IO library for OCaml";
};
ppx_core = janePackage {
name = "ppx_core";
hash = "15400zxxkqdimmjpdjcs36gcbxbrhylmaczlzwd6x65v1h9aydz3";
propagatedBuildInputs = [ ppx_ast ppx_traverse_builtins stdio ];
meta.description = "Jane Street's standard library for ppx rewriters";
};
# Jane Street packages, up to ppx_base
ppx_optcomp = janePackage {
name = "ppx_optcomp";
hash = "1wfj6fnh92s81yncq7yyhmax7j6zpjj1sg1f3qa1f9c5kf4kkzrd";
propagatedBuildInputs = [ ppx_core ];
meta.description = "Optional compilation for OCaml";
};
ppx_driver = janePackage {
name = "ppx_driver";
hash = "1w3khwnvy18nkh673zrbhcs6051hs7z5z5dib7npkvpxndw22hwj";
buildInputs = [ ocamlbuild ];
propagatedBuildInputs = [ ppx_optcomp ];
meta.description = "Feature-full driver for OCaml AST transformers";
};
ppx_metaquot = janePackage {
name = "ppx_metaquot";
hash = "15qfd3s4x2pz006nx5316laxd3gqqi472x432qg4rfx4yh3vn31k";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "Metaquotations for ppx_ast";
};
ppx_type_conv = janePackage {
name = "ppx_type_conv";
hash = "0a0gxjvjiql9vg37k0akn8xr5724nv3xb7v37xpidv7ld927ks7p";
propagatedBuildInputs = [ ppx_metaquot ppx_deriving ];
meta.description = "Support Library for type-driven code generators";
};
ppx_sexp_conv = janePackage {
name = "ppx_sexp_conv";
hash = "03cg2sym0wvpd5l7q4w9bclp589z5byygwsmnnq9h1ih56cmd55l";
propagatedBuildInputs = [ ppx_type_conv sexplib ];
meta.description = "Generation of S-expression conversion functions from type definitions";
};
ppx_compare = janePackage {
name = "ppx_compare";
hash = "0wrszpvn1nms5sb5rb29p7z1wmqyd15gfzdj4ax8f843p5ywx3w9";
propagatedBuildInputs = [ ppx_type_conv ];
meta.description = "Generation of comparison functions from types";
};
ppx_enumerate = janePackage {
name = "ppx_enumerate";
hash = "1dfy86j2z12p5n9yrwaakx1ngphs5246vxy279kz6i6j34cwxm46";
propagatedBuildInputs = [ ppx_type_conv ];
meta.description = "Generate a list containing all values of a finite type";
};
ppx_hash = janePackage {
name = "ppx_hash";
hash = "1w1riy2sqd9i611sc5f5z2rqqgjl2gvvkzi5xibpv309nacnl01d";
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
};
ppx_js_style = janePackage {
name = "ppx_js_style";
hash = "09k02b1l2r7svf9l3ls69h8xydsyiang2ziigxnny2i7gy7b0w59";
propagatedBuildInputs = [ ppx_metaquot octavius ];
meta.description = "Code style checker for Jane Street Packages";
};
ppx_base = janePackage {
name = "ppx_base";
hash = "0qikfzbkd2wyxfrvizz6rgi6vg4ykvxkivacj4gr178dbgfl5if3";
propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
meta.description = "Base set of ppx rewriters";
};
# Jane Street packages, up to ppx_bin_prot
fieldslib = janePackage {
name = "fieldslib";
hash = "1wxh59888l1bfz9ipnbcas58gwg744icaixzdbsg4v8f7wymc501";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "OCaml record fields as first class values";
};
variantslib = janePackage {
name = "variantslib";
hash = "0kj53n62193j58q9vip8lfhhyf6w9d25wyvxzc163hx5m68yw0fz";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "OCaml variants as first class values";
};
ppx_traverse = janePackage {
name = "ppx_traverse";
hash = "1sdqgwyq0w71i03vhc5jq4jk6rsbgwhvain48fnrllpkb5kj2la2";
propagatedBuildInputs = [ ppx_type_conv ];
meta.description = "Automatic generation of open recursion classes";
};
ppx_custom_printf = janePackage {
name = "ppx_custom_printf";
hash = "0cjy2c2c5g3qxqvwx1yb6p7kbmmpnpb1hll55f7a44x215lg8x19";
propagatedBuildInputs = [ ppx_sexp_conv ppx_traverse ];
meta.description = "Printf-style format-strings for user-defined string conversion";
};
ppx_fields_conv = janePackage {
name = "ppx_fields_conv";
hash = "0qp8zgmk58iskzrkf4g06i471kg6lrh3wqpy9klrb8pp9mg0xr9z";
propagatedBuildInputs = [ fieldslib ppx_type_conv ];
meta.description = "Generation of accessor and iteration functions for OCaml records";
};
ppx_variants_conv = janePackage {
name = "ppx_variants_conv";
hash = "1xayhyglgbdjqvb9123kjbwjcv0a3n3302nb0j7g8gmja8w5y834";
propagatedBuildInputs = [ ppx_type_conv variantslib ];
meta.description = "Generation of accessor and iteration functions for OCaml variant types";
};
bin_prot = janePackage {
name = "bin_prot";
hash = "0cy6lhksx4jypkrnj3ha31p97ghslki0bx5rpnzc2v28mfp6pzh1";
propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
meta.description = "Binary protocol generator";
};
ppx_here = janePackage {
name = "ppx_here";
hash = "0pjscw5ydxgy4fcxakgsazpp09ka057w5n2fp2dpkv2k5gil6rzh";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "Expands [%here] into its location";
};
ppx_bin_prot = janePackage {
name = "ppx_bin_prot";
hash = "0qw9zqrc5yngzrzpk9awnlnd68xrb7wz5lq807c80ibxk0xvnqn3";
propagatedBuildInputs = [ ppx_here bin_prot ];
meta.description = "Generation of bin_prot readers and writers from types";
};
# Jane Street packages, up to ppx_jane
ppx_assert = janePackage {
name = "ppx_assert";
hash = "1s5c75wkc46nlcwmgic5h7f439s26ssrzrcil501c5kpib2hlv6z";
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ppx_compare ];
meta.description = "Assert-like extension nodes that raise useful errors on failure";
};
ppx_inline_test = janePackage {
name = "ppx_inline_test";
hash = "01xml88ahrzqnc7g1ib184jbqxpdfx4gn2wdvi09dpi4i0jahy33";
propagatedBuildInputs = [ ppx_metaquot ];
meta.description = "Syntax extension for writing in-line tests in OCaml code";
};
typerep = janePackage {
name = "typerep";
hash = "0hlc0xiznli1k6azv2mhm1s4xghhxqqd957np7828bfp7r8n2jy3";
propagatedBuildInputs = [ base ];
meta.description = "Runtime types for OCaml";
};
ppx_bench = janePackage {
name = "ppx_bench";
hash = "1qk4y6c2mpw7bqjppi2nam74vs2sc89wzq162j92wsqxyqsv4p93";
propagatedBuildInputs = [ ppx_inline_test ];
meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
};
ppx_expect = janePackage {
name = "ppx_expect";
hash = "1bik53k51wcqv088f0h10n3ms9h51yvg6ha3g1s903i2bxr3xs6b";
propagatedBuildInputs = [ ppx_inline_test ppx_fields_conv ppx_custom_printf ppx_assert ppx_variants_conv re ];
meta.description = "Cram like framework for OCaml";
};
ppx_fail = janePackage {
name = "ppx_fail";
hash = "0qz0vlazasjyg7cv3iwpzxlvsah3zmn9dzd029xxqr1bji067s32";
propagatedBuildInputs = [ ppx_here ppx_metaquot ];
meta.description = "Add location to calls to failwiths";
};
ppx_let = janePackage {
name = "ppx_let";
hash = "1b914a5nynwxjvfx42v61yigvjhnd548m4yqjfchf38dmqi1f4nr";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "Monadic let-bindings";
};
ppx_optional = janePackage {
name = "ppx_optional";
hash = "1vknsarxba0zcp5k2jb31wfpvqrv3bpanxbahfl5s2fwspsfdc82";
propagatedBuildInputs = [ ppx_metaquot ];
meta.description = "Pattern matching on flat options";
};
ppx_pipebang = janePackage {
name = "ppx_pipebang";
hash = "1wyfyyjvyi94ds1p90l60wdr85q2v3fq1qdf3gnv9zjfy6sb0g9h";
propagatedBuildInputs = [ ppx_metaquot ];
meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
};
ppx_sexp_message = janePackage {
name = "ppx_sexp_message";
hash = "0r0skyr1zf2jh48xrxbs45gzywynhlivkq24xwc0qq435fmc2jqv";
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
meta.declarations = "A ppx rewriter for easy construction of s-expressions";
};
ppx_sexp_value = janePackage {
name = "ppx_sexp_value";
hash = "0hha5mmx700m8fy9g4znb8278l09chgwlpshny83vsmmzgq2jhah";
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
meta.declarations = "A ppx rewriter that simplifies building s-expressions from OCaml values";
};
ppx_typerep_conv = janePackage {
name = "ppx_typerep_conv";
hash = "0bzgfpbqijwxm8x9jq1zb4xi5sbzymk17lw5rylri3hf84p60aq1";
propagatedBuildInputs = [ ppx_type_conv typerep ];
meta.description = "Generation of runtime types from type declarations";
};
ppx_jane = janePackage {
name = "ppx_jane";
hash = "16m5iw0qyp452nqj83kd0g0x3rw40lrz7392hwpd4di1wi6v2qzc";
propagatedBuildInputs = [ ppx_base ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_let ppx_optional ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv ];
meta.description = "Standard Jane Street ppx rewriters";
};
# Jane Street packages, up to core
configurator = janePackage {
name = "configurator";
hash = "1ll90pnprc5nah621ckvqi1gwagvglzx2mzjpkppddw1kr320w80";
propagatedBuildInputs = [ ppx_base ];
meta.description = "Helper library for gathering system configuration";
};
jane-street-headers = janePackage {
name = "jane-street-headers";
hash = "0cdab6sblsidjbwvyvmspykyhqh44rpsjzi2djbfd5m4vh2h14gy";
meta.description = "Jane Street header files";
};
core_kernel = janePackage {
name = "core_kernel";
hash = "05iwvggx9m81x7ijgv9gcv5znf5rmsmb76dg909bm9gkr3hbh7wh";
propagatedBuildInputs = [ configurator jane-street-headers ppx_jane ];
meta.description = "Jane Street's standard library overlay (kernel)";
};
spawn = janePackage {
name = "spawn";
hash = "1w53b8ni06ajj62yaqjy0pkbm952l0m5fzr088yk15078qaxsnb5";
meta.description = "Spawning sub-processes";
};
core = janePackage {
name = "core";
hash = "0x05ky8l75k2dnpsa02vmqcr7p7q0vvc6279psq3iybrwcvab9yi";
propagatedBuildInputs = [ core_kernel spawn ];
meta.description = "Jane Street's standard library overlay";
};
# Jane Street packages, up to core_extended
re2 = janePackage {
name = "re2";
hash = "1qmhl3yd6y0lq401rz72b1bsbpglb0wighpxn3x8y1ixq415p4xi";
propagatedBuildInputs = [ core_kernel ];
meta = {
description = "OCaml bindings for RE2";
platforms = lib.platforms.linux;
};
};
textutils = janePackage {
name = "textutils";
hash = "1y6j2qw7rc8d80343lfv1dygnfrhn2qllz57mx28pl5kan743f6d";
propagatedBuildInputs = [ core ];
meta.description = "Text output utilities";
};
core_extended = janePackage {
name = "core_extended";
hash = "05cnzzj0kigz9c9gsmd6mfar82wmkbqm9qzrydb80sy2fz5b30rk";
propagatedBuildInputs = [ core re2 textutils ];
postPatch = ''
patchShebangs src/discover.sh
'';
meta = {
description = "Jane Street Capital's standard library overlay";
inherit (re2.meta) platforms;
};
};
# Jane Street async packages
async_kernel = janePackage {
name = "async_kernel";
hash = "1zwxhzy7f9900rcjls2fql9cpfmwrcah3fazzdz4h2i51f41w62x";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Jane Street Capital's asynchronous execution library (core)";
};
async_rpc_kernel = janePackage {
name = "async_rpc_kernel";
hash = "1xk3s6s3xkj182p10kig2cqy8md6znif3v661h9cd02n8s57c40b";
propagatedBuildInputs = [ core_kernel async_kernel ];
meta.description = "Platform-independent core of Async RPC library";
};
async_unix = janePackage {
name = "async_unix";
hash = "0yd4z28j5vdj2zxqi0fkgh2ic1s9h740is2dk0raga0zr5a1z03d";
propagatedBuildInputs = [ core async_kernel ];
meta.description = "Jane Street Capital's asynchronous execution library (unix)";
};
async_extra = janePackage {
name = "async_extra";
hash = "0rpy5lc5dh5mir7flq1jrppd8imby8wyw191yg4nmklg28xp5sx0";
propagatedBuildInputs = [ async_rpc_kernel async_unix ];
meta.description = "Jane Street's asynchronous execution library (extra)";
};
async = janePackage {
name = "async";
hash = "10ykzym19srgdiikj0s74dndx5nk15hjq1r2hc61iz48f6caxkb1";
propagatedBuildInputs = [ async_extra ];
meta.description = "Jane Street Capital's asynchronous execution library";
};
async_find = janePackage {
name = "async_find";
hash = "11dmhdzgf5kn4m0cm6zr28wpwhi2kr4lak9nmgxbrxsq28bcncxq";
propagatedBuildInputs = [ async ];
meta.description = "Directory traversal with Async";
};
async_interactive = janePackage {
name = "async_interactive";
hash = "1mmqqp6bi2wg7bmgf0sw34jn3iyl5kbm200dax8yqq6rfprcs49j";
propagatedBuildInputs = [ async ];
meta.description = "Utilities for building simple command-line based user interfaces";
};
async_parallel = janePackage {
name = "async_parallel";
hash = "0mdprhr1pv4g65g10gr3gaifrzknsdgarwfdbjlvhzfs86075kyn";
propagatedBuildInputs = [ async ];
meta.description = "Distributed computing library";
};
async_shell = janePackage {
name = "async_shell";
hash = "02clpz3xv3i5avzifwalylb9gfxzpgnr8bnlfsjixxfk2m7kvsj2";
propagatedBuildInputs = [ core_extended async ];
meta = {
description = "Shell helpers for Async";
inherit (core_extended.meta) platforms;
};
};
async_ssl = janePackage {
name = "async_ssl";
hash = "01w3bg38q61lc3hfh8jsr0sy1ylyv0m6g6h9yvsk8ngj6qk70nss";
propagatedBuildInputs = [ async ctypes openssl ];
meta.description = "Async wrappers for SSL";
};
# Jane Street packages, up to expect_test_helpers
sexp_pretty = janePackage {
name = "sexp_pretty";
hash = "1bx8va468j5b813m0vsh1jzgb6h2qnnjfmjlf2hb82sarv8lllfx";
propagatedBuildInputs = [ ppx_base re ];
meta.description = "S-expression pretty-printer";
};
expect_test_helpers_kernel = janePackage {
name = "expect_test_helpers_kernel";
hash = "1ycqir8sqgq5nialnrfg29nqn0cqg6jjpgv24drdycdhqf5r2zg6";
propagatedBuildInputs = [ core_kernel sexp_pretty ];
meta.description = "Helpers for writing expectation tests";
};
expect_test_helpers = janePackage {
name = "expect_test_helpers";
hash = "0rsh6rwbqfcrqisk8jp7srlnicsadbzrs02ri6zyx0p3lmznw5r2";
propagatedBuildInputs = [ async expect_test_helpers_kernel ];
meta.description = "Async helpers for writing expectation tests";
};
# Miscellaneous Jane Street packages
bignum = janePackage {
name = "bignum";
hash = "0g80mzsi7vc1kq4mzha8y9nl95h6cd041vix3wjrqgkdvb1qd4f3";
propagatedBuildInputs = [ core_kernel zarith ];
meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
};
cinaps = janePackage {
name = "cinaps";
hash = "02fpjiwrygkpx2q4jfldhbqh0mqxmf955wizr8k4vmsq4wsis0p5";
propagatedBuildInputs = [ re ];
meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
};
command_rpc = janePackage {
name = "command_rpc";
hash = "0w58z9jkz5qzbvf33wrzhfshzdvnrphj6dq8dmi52ykhfvxm7824";
propagatedBuildInputs = [ async ];
meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
};
core_bench = janePackage {
name = "core_bench";
hash = "1m2q7217nmcsck29i59djkm0h6z3aj0i01niijzr5f6ilbnmyd3h";
propagatedBuildInputs = [ core_extended ];
meta = {
description = "Micro-benchmarking library for OCaml";
inherit (core_extended.meta) platforms;
};
};
core_profiler = janePackage {
name = "core_profiler";
hash = "1ir2v3wdfbf5xzqcma16asc73mkx2q6dzq5y1bx6q1rpa7iznx44";
propagatedBuildInputs = [ core_extended ];
meta = {
description = "Profiling library";
inherit (core_extended.meta) platforms;
};
};
csvfields = janePackage {
name = "csvfields";
hash = "0lbvs1kwl22ryxhw6s089f6683hj2920bn518mvr22rnv7qijy0v";
propagatedBuildInputs = [ core ];
meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
};
ecaml = janePackage {
name = "ecaml";
hash = "1a2534bzbwgpm71aj3sm71sm0lkcjdfjj1mk91p1pg9kxn8c5x4i";
propagatedBuildInputs = [ async ];
meta.description = "Writing Emacs plugin in OCaml";
};
email_message = janePackage {
name = "email_message";
hash = "0cpaf6wn5g883bxdz029bksvrfzih99m7hzbb30fhqglmpmmkniz";
propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ];
meta = {
description = "E-mail message parser";
inherit (core_extended.meta) platforms;
};
};
incremental_kernel = janePackage {
name = "incremental_kernel";
hash = "0zq48wbgqcflh84n10iygi8aa3f0zzmgc7r0jwvsyg7i8zccgvf5";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Library for incremental computations depending only on core_kernel";
};
incremental = janePackage {
name = "incremental";
hash = "05sx8ia46v4dlvzcn7xgjcwxvbd0wmvv9r2bpvniapjnwr1nvcfh";
propagatedBuildInputs = [ core incremental_kernel ];
meta.description = "Library for incremental computations";
};
incr_map = janePackage {
name = "incr_map";
hash = "0358qg9irxbbhn18laqww3mn43mdwvlbr0h2mvg3vdbb2c5jp4fv";
propagatedBuildInputs = [ incremental_kernel ];
meta.description = "Helpers for incremental operations on map like data structures";
};
ocaml_plugin = janePackage {
name = "ocaml_plugin";
hash = "0q33swnlx9p1gcn1aj95501kapb7cnbzbsavid69csczwmzcxr14";
buildInputs = [ ocamlbuild ];
propagatedBuildInputs = [ async ];
meta.description = "Automatically build and dynlink ocaml source files";
};
parsexp = janePackage {
name = "parsexp";
hash = "0brrifvnfqbfk873v6y5b2jixs2d73hpispj9r440kca5cfsv23b";
propagatedBuildInputs = [ ppx_compare ppx_fields_conv ppx_js_style ppx_sexp_value ];
meta.description = "S-expression parsing library";
};
parsexp_io = janePackage {
name = "parsexp_io";
hash = "0gcmh4dg48xgszladq92yhk1hf492zf0smz462xrwknzlfdkz6a5";
propagatedBuildInputs = [ parsexp ];
meta.description = "S-expression parsing library (IO functions)";
};
patience_diff = janePackage {
name = "patience_diff";
hash = "0vpx9xj1ich5qmj3m26vlmix3nsdj7pd1xzhqwbc7ad2kqwy3grg";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Tool and library implementing patience diff";
};
posixat = janePackage {
name = "posixat";
hash = "0ak93dyzi6sc6gb0j07fj85b24d8bv6g2hm7jj5xwb39kjwh51jl";
propagatedBuildInputs = [ ppx_sexp_conv ];
meta.description = "Binding to the posix *at functions";
};
rpc_parallel = janePackage {
name = "rpc_parallel";
hash = "0s72msl2p27bz0knjlpgy5qwp0w4z76cq801ps0sab35f8jjfs38";
propagatedBuildInputs = [ async ];
meta.description = "Type-safe library for building parallel applications";
};
shexp = janePackage {
name = "shexp";
hash = "1fkz4l9z4i0fz2kccd5blm2j9x2x4z6y1cn29wjmc3spqfxbq37y";
propagatedBuildInputs = [ posixat spawn ];
meta.description = "Process library and s-expression based shell";
};
topological_sort = janePackage {
name = "topological_sort";
hash = "1d64fyq0clsgham9p1f5rk01z8pxalglp92xmqw2iznyw0vxhvsy";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Topological sort algorithm";
};
typerep_extended = janePackage {
name = "typerep_extended";
hash = "15gq8mrvlipd616rffr3f0wqw5d0ijnnizix610g2d5viirh0j9p";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Runtime types for OCaml (Extended)";
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, ocaml, jbuilder, findlib }:
{ name, version ? "0.9.0", buildInputs ? [], hash, meta, ...}@args:
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "${name}-${version} is not available for OCaml ${ocaml.version}" else
stdenv.mkDerivation (args // {
name = "ocaml${ocaml.version}-${name}-${version}";
inherit version;
src = fetchFromGitHub {
owner = "janestreet";
repo = name;
rev = "v${version}";
sha256 = hash;
};
buildInputs = [ ocaml jbuilder findlib ] ++ buildInputs;
inherit (jbuilder) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
homepage = "https://github.com/janestreet/${name}";
} // meta;
})

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ocaml-compiler-libs-0.9.0";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ocaml-compiler-libs-v0.9.0.tar.gz;
sha256 = "0ipi56vg227924ahi9vv926jn16br9zfipm6a3xd4xrl5pxkvzaz";
};
buildInputs = [ ocaml jbuilder findlib ];
inherit (jbuilder) installPhase;
meta = {
description = "OCaml compiler libraries repackaged";
homepage = https://github.com/janestreet/ocaml-compiler-libs;
license = stdenv.lib.licenses.asl20;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,24 +0,0 @@
{ stdenv, fetchurl, ocaml, jbuilder, findlib
, ocaml-compiler-libs, ocaml-migrate-parsetree
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_ast-0.9.0";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ppx_ast-v0.9.0.tar.gz;
sha256 = "1hirfmxr8hkf3p39k1pqidabxxhd541d6ddfaqpgxbl51bw9ddmz";
};
buildInputs = [ ocaml jbuilder findlib ];
propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
inherit (jbuilder) installPhase;
meta = {
description = "OCaml AST used by Jane Street ppx rewriters";
homepage = https://github.com/janestreet/ppx_ast;
license = stdenv.lib.licenses.asl20;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools, ppx_inline_test
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_bench-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_bench-113.33.00+4.03.tar.gz;
sha256 = "00iv0p3cni4r7iimwm04bjg2hzvlvdb0b1kynjw2xav64xc29q01";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_inline_test ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, bin_prot, ppx_deriving, ppx_tools, ppx_type_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_bin_prot-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_bin_prot-113.33.00+4.03.tar.gz;
sha256 = "1xw1yjgnd5ny1cq0n6rbsdaywyzq2n0jwg4gjsxv14dhv0alav36";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ bin_prot ppx_deriving ppx_type_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools, ppx_deriving, ppx_type_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_compare-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_compare-113.33.00+4.03.tar.gz;
sha256 = "07drgg6c857lsvxdjscdcb1ncdr5p3183spw32sbfcrbnr12nzys";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_type_conv ppx_deriving ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,20 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_core-133.33.01+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_core-113.33.01+4.03.tar.gz;
sha256 = "0ibww4lx87lmn164mxczl3sa7ldwc7g1zi4m9c4vllsv004iyffl";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_sexp_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_custom_printf-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_custom_printf-113.33.00+4.03.tar.gz;
sha256 = "1hw8q4x0hzyg3brlqpdm0bc7z6lnj6qymzw123cf51q9dq0386jb";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ ppx_sexp_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools, ppx_deriving, ppx_type_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_enumerate-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_enumerate-113.33.00+4.03.tar.gz;
sha256 = "0b0kvdw6kids4yrzqq2h82gmnx1zfiahr82rrdbwiwkk4g0pxl93";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_deriving ppx_type_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,22 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_driver, ppx_assert, ppx_custom_printf, ppx_inline_test
, ppx_fields_conv, ppx_variants_conv, re, sexplib, fieldslib
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_expect-113.33.01+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_expect-113.33.01+4.03.tar.gz;
sha256 = "1r358vx3wnkzq8kwgi49400l1fx2bnl6gds4hl7s67lxsqxki2z7";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_assert ppx_custom_printf ppx_fields_conv ppx_variants_conv re ];
propagatedBuildInputs = [ ppx_driver ppx_inline_test fieldslib sexplib ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools, ppx_here
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_fail-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_fail-113.33.00+4.03.tar.gz;
sha256 = "1fy1aqsylf6yk527w13rm2b20il9vy026c5ww65pj3ks5zykfvx9";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_here ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, fieldslib, ppx_deriving, ppx_type_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_fields_conv-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_fields_conv-113.33.00+4.03.tar.gz;
sha256 = "1wfi8pc0y7wjiscvawhfgbcfx7ypmikmyyagwhzw7jhnldljwrkg";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ fieldslib ppx_deriving ppx_type_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools, ppx_driver
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_inline_test-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_inline_test-113.33.00+4.03.tar.gz;
sha256 = "1sw71wnwznia1spicilj4bzspgdk1dhp0j4hp57a9xmsscg44i4k";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_driver ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,24 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_assert, ppx_bench, ppx_bin_prot, ppx_custom_printf, ppx_enumerate, ppx_expect, ppx_fail, ppx_fields_conv, ppx_let, ppx_pipebang, ppx_sexp_message, ppx_sexp_value, ppx_typerep_conv, ppx_variants_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_jane-113.33.00";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_jane-113.33.00.tar.gz;
sha256 = "15lbrc9jj83k208gv7knz7mk9xh9mdb657jdjb1006gdsskfmra6";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ ppx_assert ppx_bench ppx_bin_prot
ppx_custom_printf ppx_enumerate ppx_expect ppx_fail ppx_fields_conv
ppx_let ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv
ppx_variants_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_driver
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_let-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_let-113.33.00+4.03.tar.gz;
sha256 = "012yzayknm9qv8ap9rbwf4fwnmx935mfy7c75ifagbnfl4lh7dmp";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ ppx_driver ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,34 +0,0 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, opam, topkg, oasis
, ppx_core, ppx_tools
}:
let
param = {
"4.03" = {
version = "113.33.00+4.03";
sha256 = "1fkz6n40l4ck8bcr548d2yp08zc9fjv42zldlh0cj3ammhiz3gap";
};
"4.04" = {
version = "113.33.01+4.03";
sha256 = "1caw5dfgh5rw8mcgar0hdn485j1rqlnkbfb8wd0wdl5zhkg8jk3d";
};
}."${ocaml.meta.branch}";
in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_optcomp-${param.version}";
src = fetchzip {
url = "http://github.com/janestreet/ppx_optcomp/archive/${param.version}.tar.gz";
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ocamlbuild opam oasis ppx_tools ];
propagatedBuildInputs = [ ppx_core ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_tools, ppx_driver
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_pipebang-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_pipebang-113.33.00+4.03.tar.gz;
sha256 = "1rjrpbncy8vzwnmc5n0qs4dd40dmg4h75dvd7h7lm8cpxalifivc";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_driver ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, sexplib, ppx_deriving, ppx_tools, ppx_type_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_sexp_conv-133.33.01+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_conv-113.33.01+4.03.tar.gz;
sha256 = "176pydk5fs8m2md9v8v5b16gra90s4v0ssqq38ghfsbv1faca8d6";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ sexplib ppx_deriving ppx_type_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_sexp_conv, ppx_here
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_sexp_message-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_message-113.33.00+4.03.tar.gz;
sha256 = "01vrm8dk413gh19i2y6ffpsmscjhayp3asn5hcbcflxsvlaf4klx";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_here, ppx_sexp_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_sexp_value-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_value-113.33.00+4.03.tar.gz;
sha256 = "0pn2v1m479lbdgprv4w9czyv5nim0hz6ailmy1xxlxlhazwbqzwm";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_traverse_builtins-0.9.0";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ppx_traverse_builtins-v0.9.0.tar.gz;
sha256 = "0zmf9kybll0xn8dsj10v260l0zwjyykimqml9rl7xqyjyl1rmnx6";
};
buildInputs = [ ocaml jbuilder findlib ];
inherit (jbuilder) installPhase;
meta = {
description = "Builtins for Ppx_traverse";
homepage = https://github.com/janestreet/ppx_traverse_builtins;
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, ppx_core, ppx_deriving, ppx_driver
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_type_conv-133.33.02+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_type_conv-113.33.02+4.03.tar.gz;
sha256 = "0y7hsh152gcj89i6cr3b9kxgdnb2sx8vhaq2bdvbcc9zrirwq4d2";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_deriving ];
propagatedBuildInputs = [ ppx_core ppx_driver ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, typerep, ppx_tools, ppx_type_conv, ppx_deriving
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_typerep_conv-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_typerep_conv-113.33.00+4.03.tar.gz;
sha256 = "0k03wp07jvv3zpsm8n5hvskd5iagjvpcpxj9rpj012nia5iqfaj6";
};
buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
propagatedBuildInputs = [ ppx_type_conv typerep ppx_deriving ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
, variantslib, ppx_deriving, ppx_type_conv
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ppx_variants_conv-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_variants_conv-113.33.00+4.03.tar.gz;
sha256 = "0il0nkdwwsc1ymshj4q9nzw5ixm12ls0jj7z3q16k48bg3z5ibc0";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
propagatedBuildInputs = [ variantslib ppx_deriving ppx_type_conv ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,18 +0,0 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-sexplib-113.33.00+4.03";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/113.33/files/sexplib-113.33.00+4.03.tar.gz;
sha256 = "1dirdrags3z8m80z1vczfnpdfzgcvm2wyy7g61fxdr8h3jgixpl3";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
inherit (topkg) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
};
}

View File

@ -1,22 +0,0 @@
{ stdenv, fetchurl, ocaml, jbuilder, findlib, base }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-stdio-0.9.0";
src = fetchurl {
url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/stdio-v0.9.0.tar.gz;
sha256 = "008b5y03223107gfv8qawdfyjvf5g97l472i5p5v8mp512wr7kj5";
};
buildInputs = [ ocaml jbuilder findlib ];
propagatedBuildInputs = [ base ];
inherit (jbuilder) installPhase;
meta = {
license = stdenv.lib.licenses.asl20;
description = "Standard IO library for OCaml";
homepage = https://github.com/janestreet/stdio;
inherit (ocaml.meta) platforms;
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchPypi, buildPythonPackage, hidapi
, pycrypto, pillow, protobuf, future, ecpy
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "ECPy";
version = "0.8.1";
src = fetchPypi {
inherit pname version;
sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l";
};
buildInputs = [ hidapi pycrypto pillow protobuf future ];
meta = with stdenv.lib; {
description = "Pure Pyhton Elliptic Curve Library";
homepage = "https://github.com/ubinity/ECPy";
license = licenses.asl20;
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchPypi, buildPythonPackage }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "ed25519";
version = "1.4";
src = fetchPypi {
inherit pname version;
sha256 = "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499";
};
meta = with stdenv.lib; {
description = "Ed25519 public-key signatures";
homepage = "https://github.com/warner/python-ed25519";
license = licenses.mit;
maintainers = with maintainers; [ np ];
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, libusb1, udev, fetchPypi, buildPythonPackage, cython }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "hidapi";
version = "0.7.99.post20";
src = fetchPypi {
inherit pname version;
sha256 = "1k7z5m7xsqy8j4qkjy4pfxdx4hm36ha68vi65z6smvnyg4zgv22z";
};
propagatedBuildInputs = [ libusb1 udev cython ];
# Fix the USB backend library lookup
postPatch = ''
libusb=${libusb1.dev}/include/libusb-1.0
test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py
'';
meta = with stdenv.lib; {
description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi";
homepage = https://github.com/trezor/cython-hidapi;
# license can actually be either bsd3 or gpl3
# see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt
license = licenses.bsd3;
maintainers = with maintainers; [ np ];
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, fetchPypi, buildPythonPackage, ecdsa
, mnemonic, protobuf3_0, hidapi }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "keepkey";
version = "0.7.3";
src = fetchPypi {
inherit pname version;
sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714";
};
propagatedBuildInputs = [ protobuf3_0 hidapi ];
buildInputs = [ ecdsa mnemonic ];
# There are no actual tests: "ImportError: No module named tests"
doCheck = false;
# Remove impossible dependency constraint
postPatch = "sed -i -e 's|hidapi==|hidapi>=|' setup.py";
meta = with stdenv.lib; {
description = "KeepKey Python client";
homepage = https://github.com/keepkey/python-keepkey;
license = licenses.gpl3;
maintainers = with maintainers; [ np ];
};
}

View File

@ -13,10 +13,12 @@ buildPythonPackage rec {
}; };
# Needed by tests to setup a mockup ldap server. # Needed by tests to setup a mockup ldap server.
BIN = "${openldap}/bin"; preCheck = ''
SBIN = "${openldap}/bin"; export BIN="${openldap}/bin"
SLAPD = "${openldap}/libexec/slapd"; export SBIN="${openldap}/bin"
SCHEMA = "${openldap}/etc/schema"; export SLAPD="${openldap}/libexec/slapd"
export SCHEMA="${openldap}/etc/schema"
'';
patches = lib.singleton (writeText "avoid-syslog.diff" '' patches = lib.singleton (writeText "avoid-syslog.diff" ''
diff a/Lib/slapdtest.py b/Lib/slapdtest.py diff a/Lib/slapdtest.py b/Lib/slapdtest.py

View File

@ -0,0 +1,23 @@
{ stdenv, fetchPypi, buildPythonPackage, hidapi
, pycrypto, pillow, protobuf, future, ecpy
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "ledgerblue";
version = "0.1.13";
src = fetchPypi {
inherit pname version;
sha256 = "09bsiylvgax6m47w8r0myaf61xj9j0h1spvadx6fx31qy0iqicw0";
};
buildInputs = [ hidapi pycrypto pillow protobuf future ecpy ];
meta = with stdenv.lib; {
description = "Python library to communicate with Ledger Blue/Nano S";
homepage = "https://github.com/LedgerHQ/blue-loader-python";
license = licenses.asl20;
maintainers = with maintainers; [ np ];
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchPypi, buildPythonPackage, ed25519, ecdsa
, semver, keepkey, trezor, mnemonic, ledgerblue
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "libagent";
version = "0.9.1";
src = fetchPypi{
inherit pname version;
sha256 = "1g19lsid7lqw567w31fif89w088lzbgh27xpb1pshjk1gvags3bc";
};
buildInputs = [
ed25519 ecdsa semver keepkey
trezor mnemonic ledgerblue
];
meta = with stdenv.lib; {
description = "Using hardware wallets as SSH/GPG agent";
homepage = "https://github.com/romanz/trezor-agent";
license = licenses.gpl3;
maintainers = with maintainers; [ np ];
};
}

View File

@ -0,0 +1,21 @@
{ lib, fetchurl, buildPythonPackage, pbkdf2 }:
buildPythonPackage rec {
pname = "mnemonic";
version = "0.17";
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://pypi/m/${pname}/${name}.tar.gz";
sha256 = "1hq6xb47jagfqf65iwcrh0065mj3521d2mxmahg7vfraihqyqdjn";
};
propagatedBuildInputs = [ pbkdf2 ];
meta = {
description = "Implementation of Bitcoin BIP-0039";
homepage = https://github.com/trezor/python-mnemonic;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ np ];
};
}

View File

@ -1,4 +1,10 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, nose, unrar, glibcLocales }: { stdenv, buildPythonPackage, fetchFromGitHub, pytest, nose, libarchive, glibcLocales
# unrar is non-free software
, useUnrar ? false, unrar
}:
assert useUnrar -> unrar != null;
assert !useUnrar -> libarchive != null;
buildPythonPackage rec { buildPythonPackage rec {
pname = "rarfile"; pname = "rarfile";
@ -15,8 +21,16 @@ buildPythonPackage rec {
prePatch = '' prePatch = ''
substituteInPlace rarfile.py \ substituteInPlace rarfile.py \
--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\"" '' + (if useUnrar then
''--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
''
else
''--replace 'ALT_TOOL = "bsdtar"' "ALT_TOOL = \"${libarchive}/bin/bsdtar\""
'')
+ ''
''; '';
# the tests only work with the standard unrar package
doCheck = useUnrar;
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";
checkPhase = '' checkPhase = ''
py.test test -k "not test_printdir" py.test test -k "not test_printdir"

View File

@ -0,0 +1,19 @@
{ stdenv, fetchPypi, buildPythonPackage }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "semver";
version = "2.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "161gvsfpw0l8lnf1v19rvqc8b9f8n70cc8ppya4l0n6rwc1c1n4m";
};
meta = with stdenv.lib; {
description = "Python package to work with Semantic Versioning (http://semver.org/)";
homepage = "https://github.com/k-bx/python-semver";
license = licenses.bsd3;
maintainers = with maintainers; [ np ];
};
}

View File

@ -1,45 +1,38 @@
{ stdenv, fetchurl, buildPythonPackage, service-identity, requests, { stdenv, fetchPypi, buildPythonPackage, service-identity, requests, six
six, mock, twisted, incremental, coreutils, gnumake, pep8, sphinx, , mock, twisted, incremental, pep8 }:
openssl, pyopenssl }:
buildPythonPackage rec { buildPythonPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "treq"; pname = "treq";
version = "17.3.1"; version = "17.3.1";
src = fetchurl { src = fetchPypi {
url = "mirror://pypi/t/${pname}/${name}.tar.gz"; inherit pname version;
sha256 = "313af6dedecfdde2750968dc17653b6147cf2340b3479d70031cf741f5be0cf6"; sha256 = "1xhcpvsl3xqw0dq9sixk80iwyiv17djigp3815sy5pfgvvggcfii";
}; };
buildInputs = [ propagatedBuildInputs = [ twisted requests six incremental service-identity ];
checkInputs = [
pep8 pep8
mock mock
]; ];
propagatedBuildInputs = [ postPatch = ''
service-identity rm -fv src/treq/test/test_treq_integration.py
requests
twisted
incremental
sphinx
six
openssl
pyopenssl
];
checkPhase = ''
${pep8}/bin/pep8 --ignore=E902 treq
trial treq
''; '';
doCheck = false; # XXX tox tries to install coverage despite it is installed
# Failure: twisted.web._newclient.RequestTransmissionFailed: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]>] #postBuild = ''
# # build documentation and install in $out
# tox -e docs
# mkdir -pv $out/docs
# cp -rv docs/* $out/docs/
#'';
postBuild = '' checkPhase = ''
${coreutils}/bin/mkdir -pv treq pep8 --ignore=E902 treq
${coreutils}/bin/echo "${version}" | ${coreutils}/bin/tee treq/_version trial treq
cd docs && ${gnumake}/bin/make html && cd ..
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,12 +1,12 @@
{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }: { lib, fetchPypi, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
buildPythonPackage rec { buildPythonPackage rec {
name = "${pname}-${version}";
pname = "trezor"; pname = "trezor";
version = "0.7.13"; version = "0.7.13";
name = "${pname}-${version}";
src = fetchurl { src = fetchPypi {
url = "mirror://pypi/t/${pname}/${name}.tar.gz"; inherit pname version;
sha256 = "d05f388bb56b6f61cc727999cc725078575238a0b6172450322bc55c437fefe5"; sha256 = "d05f388bb56b6f61cc727999cc725078575238a0b6172450322bc55c437fefe5";
}; };

View File

@ -18,8 +18,10 @@ buildPythonPackage rec {
sed -i '152d' test/test_logging.py sed -i '152d' test/test_logging.py
''; '';
# test_chained_callback has been removed just post-2.7.1 because the functionality was decided against and the test
# breaks on python 3.6 https://github.com/crossbario/txaio/pull/104
checkPhase = '' checkPhase = ''
py.test -k "not test_sdist" py.test -k "not (test_sdist or test_chained_callback)"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -4,8 +4,8 @@ buildRubyGem rec {
inherit ruby; inherit ruby;
name = "${gemName}-${version}"; name = "${gemName}-${version}";
gemName = "bundler"; gemName = "bundler";
version = "1.14.6"; version = "1.15.0";
sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl"; sha256 = "1k84zjr49ri7dj0mbjm7wkqdmknwdid817y2kyhn42mh4vxa68id";
dontPatchShebangs = true; dontPatchShebangs = true;
postFixup = '' postFixup = ''

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ammonite-${version}"; name = "ammonite-${version}";
version = "0.9.3"; version = "0.9.5";
scalaVersion = "2.12"; scalaVersion = "2.12";
src = fetchurl { src = fetchurl {
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
sha256 = "1s62idj8lg2g5kz325kqjmyks7ghhl5nzc4snji25qkgxirpibpl"; sha256 = "1ni829qpdm5wflc1n827b9ywpv836r2068rmj9yd2nyh8b6q2him";
}; };
propagatedBuildInputs = [ jre ] ; propagatedBuildInputs = [ jre ] ;

View File

@ -0,0 +1,26 @@
{ fetchgit, stdenv }:
stdenv.mkDerivation rec {
name = "kati-unstable-${version}";
version = "2017-05-23";
rev = "2dde61e46ab789f18956ff3b7c257dd8eb97993f";
src = fetchgit {
inherit rev;
url = "https://github.com/google/kati.git";
sha256 = "1das1fvycra546lmh72cr5qpgblhbzqqy7gfywiijjgx160l75vq";
};
patches = [ ./version.patch ];
installPhase = ''
install -D ckati $out/bin/ckati
'';
meta = {
description = "An experimental GNU make clone";
homepage = "https://github.com/google/kati";
platforms = stdenv.lib.platforms.all;
license = stdenv.lib.licenses.asl20;
};
}

View File

@ -0,0 +1,19 @@
diff --git a/Makefile.ckati b/Makefile.ckati
index e4067bb..15518f3 100644
--- a/Makefile.ckati
+++ b/Makefile.ckati
@@ -102,14 +102,8 @@ $(KATI_CXX_TEST_EXES): $(KATI_BIN_PATH)/%: $(KATI_INTERMEDIATES_PATH)/%.o
$(KATI_LD) $^ -o $@ $(KATI_LIBS)
# Rule to generate version.cc
-KATI_GIT_DIR := $(shell git -C $(KATI_SRC_PATH) rev-parse --show-toplevel)
-ifneq ($(KATI_GIT_DIR),)
-KATI_VERSION_DEPS := $(KATI_GIT_DIR)/.git/HEAD $(KATI_GIT_DIR)/.git/index
-KATI_VERSION := $(shell git -C $(KATI_GIT_DIR) rev-parse HEAD)
-else
KATI_VERSION_DEPS :=
KATI_VERSION := unknown
-endif
$(KATI_INTERMEDIATES_PATH)/version.cc: $(KATI_VERSION_DEPS)
@mkdir -p $(dir $@)
echo '// +build ignore' > $@

View File

@ -1,6 +1,6 @@
{ stdenv, fetchzip, python27, python27Packages }: { stdenv, fetchzip, python27, python27Packages, makeWrapper }:
assert stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin"; with python27Packages;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "google-app-engine-go-sdk-${version}"; name = "google-app-engine-go-sdk-${version}";
@ -17,9 +17,7 @@ stdenv.mkDerivation rec {
sha256 = "18hgl4wz3rhaklkwaxl8gm70h7l8k225f86da682kafawrr8zhv4"; sha256 = "18hgl4wz3rhaklkwaxl8gm70h7l8k225f86da682kafawrr8zhv4";
}; };
buildInputs = with python27Packages; [ buildInputs = [python27 makeWrapper];
(python27.withPackages(ps: [ cffi cryptography pyopenssl ]))
];
installPhase = '' installPhase = ''
mkdir -p $out/bin $out/share/ mkdir -p $out/bin $out/share/
@ -27,7 +25,9 @@ stdenv.mkDerivation rec {
# create wrappers with correct env # create wrappers with correct env
for i in goapp appcfg.py; do for i in goapp appcfg.py; do
ln -s "$out/share/go_appengine/$i" "$out/bin/$i" makeWrapper "$out/share/go_appengine/$i" "$out/bin/$i" \
--prefix PATH : "${python27}/bin" \
--prefix PYTHONPATH : "$(toPythonPath ${cffi}):$(toPythonPath ${cryptography}):$(toPythonPath ${pyopenssl})"
done done
''; '';
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
version = version; version = version;
homepage = "https://cloud.google.com/appengine/docs/go/"; homepage = "https://cloud.google.com/appengine/docs/go/";
license = licenses.asl20; license = licenses.asl20;
platforms = with platforms; linux ++ darwin; platforms = ["x86_64-linux" "x86_64-darwin"];
maintainers = with maintainers; [ lufia ]; maintainers = with maintainers; [ lufia ];
}; };
} }

View File

@ -1,13 +1,12 @@
{ stdenv, fetchurl, pkgs}: { stdenv, fetchurl, makeWrapper, bash, perl, diffstat, diffutils, patch, findutils }:
with pkgs;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "quilt-0.63";
name = "quilt-0.65";
src = fetchurl { src = fetchurl {
url = "mirror://savannah/quilt/${name}.tar.gz"; url = "mirror://savannah/quilt/${name}.tar.gz";
sha256 = "2846788221aa8844c54f10239c7cbc5e88031859162bcc285449446c3cfffe52"; sha256 = "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn";
}; };
buildInputs = [ makeWrapper perl bash diffutils patch findutils diffstat ]; buildInputs = [ makeWrapper perl bash diffutils patch findutils diffstat ];
@ -31,4 +30,5 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
}; };
} }

View File

@ -2,7 +2,7 @@
, libxml2, libxslt, makeWrapper, p7zip, xar, gzip, cpio }: , libxml2, libxslt, makeWrapper, p7zip, xar, gzip, cpio }:
let let
version = "1.9.1"; version = "1.9.5";
rake = buildRubyGem { rake = buildRubyGem {
inherit ruby; inherit ruby;
gemName = "rake"; gemName = "rake";
@ -13,16 +13,16 @@ let
url = if stdenv.isLinux url = if stdenv.isLinux
then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb" then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb"
else if stdenv.isDarwin else if stdenv.isDarwin
then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}.dmg" then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.dmg"
else "system ${stdenv.system} not supported"; else "system ${stdenv.system} not supported";
sha256 = { sha256 = {
"x86_64-linux" = "0l1if9c4s4wkbi8k00pl7x00lil21izrd8wb9nv2b5q4gqidc1nh"; "x86_64-linux" = "16ijzaacfbqrgh561bf51747d2rv8kydgs14dfdr572qi0f88baw";
"i686-linux" = "1789wjwcpgw3mljl49c8v5kycisay684gyalkkvd06928423y9zb"; "i686-linux" = "0lvkb4k0a34a8hzlsi0apf056rhyprh5w0gn16d0n2ijnaf9j2yk";
"x86_64-darwin" = "1xrfq1a0xyifkhhjnpm6wsnms9w8c9q5rd2qqn4sm5npl7viy68p"; "x86_64-darwin" = "070mrczsx1j0jl9sx6963l3hrk9anqa13r008wk1d22d25xj25mc";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch = builtins.replaceStrings ["-linux"] [""] stdenv.system; arch = builtins.replaceStrings ["-linux" "-darwin"] ["" ""] stdenv.system;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "vagrant-${version}"; name = "vagrant-${version}";

View File

@ -0,0 +1,43 @@
{ stdenv, fetchurl, ncurses, groff }:
stdenv.mkDerivation {
name = "wiggle-1.0";
src = fetchurl {
url = "https://github.com/neilbrown/wiggle/archive/v1.0.tar.gz";
sha256 = "0552dkdvl001b2jasj0jwb69s7zy6wbc8gcysqj69b4qgl9c54cs";
};
buildInputs = [ ncurses groff ];
configurePhase = ''
makeFlagsArray=( CFLAGS="-I. -O3"
INSTALL="install"
BINDIR="$out/bin"
MANDIR="$out/share/man"
)
patchShebangs .
'';
meta = {
homepage = http://blog.neil.brown.name/category/wiggle/;
description = "Tool for applying patches with conflicts";
longDescription = ''
Wiggle applies patches to a file in a similar manner to the patch(1)
program. The distinctive difference is, however, that wiggle will
attempt to apply a patch even if the "before" part of the patch doesn't
match the target file perfectly. This is achieved by breaking the file
and patch into words and finding the best alignment of words in the file
with words in the patch. Once this alignment has been found, any
differences (word-wise) in the patch are applied to the file as best as
possible. Also, wiggle will (in some cases) detect changes that have
already been applied, and will ignore them.
'';
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -27,11 +27,16 @@ stdenv.mkDerivation rec {
sourceRoot = "Xonotic/source/darkplaces"; sourceRoot = "Xonotic/source/darkplaces";
# "debug", "release", "profile"
target = "release";
dontStrip = target != "release";
buildPhase = '' buildPhase = ''
DP_FS_BASEDIR="$out/share/xonotic" DP_FS_BASEDIR="$out/share/xonotic"
make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-${target}
make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-${target}
make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-${target}
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;
@ -52,8 +57,16 @@ stdenv.mkDerivation rec {
dontPatchELF = true; dontPatchELF = true;
postFixup = '' postFixup = ''
patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-dedicated patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-dedicated
patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-sdl patchelf \
patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-glx --add-needed ${curl.out}/lib/libcurl.so \
--add-needed ${libvorbis}/lib/libvorbisfile.so \
--add-needed ${libvorbis}/lib/libvorbis.so \
$out/bin/xonotic-glx
patchelf \
--add-needed ${curl.out}/lib/libcurl.so \
--add-needed ${libvorbis}/lib/libvorbisfile.so \
--add-needed ${libvorbis}/lib/libvorbis.so \
$out/bin/xonotic-sdl
''; '';
meta = { meta = {

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "eventstat-${version}"; name = "eventstat-${version}";
version = "0.03.03"; version = "0.03.04";
src = fetchzip { src = fetchzip {
url = "http://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz"; url = "http://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz";
sha256 = "02pg46f3x7v1c1vvqzfjqq0wjb2bzmfkd6a8xp06cg9zvidn6jpb"; sha256 = "1sqf1mfafrw6402qx457gh8yxgsw80311qi0lp4cjl9dfz7vl2x1";
}; };
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];
installFlags = [ "DESTDIR=$(out)" ]; installFlags = [ "DESTDIR=$(out)" ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fnotifystat-${version}"; name = "fnotifystat-${version}";
version = "0.01.16"; version = "0.01.17";
src = fetchurl { src = fetchurl {
url = "http://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz"; url = "http://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz";
sha256 = "1k9nc7a4r7c2l7vrlcrfxj9rsdb04amiqcsnxm5kpshncry38nl5"; sha256 = "0ncfbrpyb3ak49nrdr4cb3w082n9s181lizfqx51zi9rdgkj1vm3";
}; };
installFlags = [ "DESTDIR=$(out)" ]; installFlags = [ "DESTDIR=$(out)" ];
postInstall = '' postInstall = ''

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "forkstat-${version}"; name = "forkstat-${version}";
version = "0.01.16"; version = "0.01.17";
src = fetchurl { src = fetchurl {
url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz"; url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz";
sha256 = "0g65basrs569y42zhgjq9sdyz62km8xy55yfilmyxa43ckb3xmlw"; sha256 = "0plm2409mmp6n2fjj6bb3z7af2cnh5lg3czlylhgaki9zd0cyb7w";
}; };
installFlags = [ "DESTDIR=$(out)" ]; installFlags = [ "DESTDIR=$(out)" ];
postInstall = '' postInstall = ''

View File

@ -1,4 +1,4 @@
{ callPackage }: { lib, callPackage, fetchurl, fetchpatch }:
let let
generic = args: callPackage (import ./generic.nix args) { }; generic = args: callPackage (import ./generic.nix args) { };
@ -28,16 +28,42 @@ in
settingsSha256 = "0nm5c06b09p6wsxpyfaqrzsnal3p1047lk6p4p2a0vksb7id9598"; settingsSha256 = "0nm5c06b09p6wsxpyfaqrzsnal3p1047lk6p4p2a0vksb7id9598";
persistencedSha256 = "1jwmggbph9zd8fj4syihldp2a5bxff7q1i2l9c55xz8cvk0rx08i"; persistencedSha256 = "1jwmggbph9zd8fj4syihldp2a5bxff7q1i2l9c55xz8cvk0rx08i";
useGLVND = false; useGLVND = false;
patches = [
(fetchpatch {
name = "kernel-4.10.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/nvidia-340xx/trunk/4.10.0_kernel.patch?id=53fb1df89;
sha256 = "171hb57m968qdjcr3h8ppfzhrchf573f39rdja86a1qq1gmrv7pa";
})
# from https://git.archlinux.org/svntogit/packages.git/plain/trunk/fs52243.patch?h=packages/nvidia-340xx
# with datestamps removed
./fs52243.patch
];
}; };
legacy_304 = generic { legacy_304 = generic {
version = "304.134"; version = "304.135";
sha256_32bit = "178wx0a2pmdnaypa9pq6jh0ii0i8ykz1sh1liad9zfriy4d8kxw4"; sha256_32bit = "14qdl39wird04sqba94dcb77i63igmxxav62ndr4qyyavn8s3c2w";
sha256_64bit = "0pydw7nr4d2dply38kwvjbghsbilbp2q0mas4nfq5ad050d2c550"; sha256_64bit = "125mianhvq591np7y5jjrv9vmpbvixnkicr49ni48mcr0yjnjqkh";
settingsSha256 = "0q92xw4fr9p5nbhj1plynm50d32881861daxfwrisywszqijhmlf"; settingsSha256 = "1y7swikdngq4nlwzkrq20yfah9zr31n1a5i6nw37awnp8xjilhzm";
persistencedSha256 = null; persistencedSha256 = null;
useGLVND = false; useGLVND = false;
useProfiles = false; useProfiles = false;
prePatch = let
debPatches = fetchurl {
url = "mirror://debian/pool/non-free/n/nvidia-graphics-drivers-legacy-304xx/"
+ "nvidia-graphics-drivers-legacy-304xx_304.135-2.debian.tar.xz";
sha256 = "0mhji0ssn7075q5a650idigs48kzf11pzj2ca2n07rwxg3vj6pdr";
};
prefix = "debian/module/debian/patches";
applyPatches = pnames: if pnames == [] then null else
''
tar xf '${debPatches}'
sed 's|^\([+-]\{3\} [ab]\)/|\1/kernel/|' -i ${prefix}/*.patch
patches="$patches ${lib.concatMapStringsSep " " (pname: "${prefix}/${pname}.patch") pnames}"
'';
in applyPatches [ "fix-typos" "drm-driver-legacy" "deprecated-cpu-events" "disable-mtrr" ];
}; };
legacy_173 = callPackage ./legacy173.nix { }; legacy_173 = callPackage ./legacy173.nix { };

View File

@ -6,6 +6,9 @@
, useGLVND ? true , useGLVND ? true
, useProfiles ? true , useProfiles ? true
, preferGtk2 ? false , preferGtk2 ? false
, prePatch ? ""
, patches ? []
}: }:
{ stdenv, callPackage, callPackage_i686, fetchurl, fetchpatch { stdenv, callPackage, callPackage_i686, fetchurl, fetchpatch
@ -42,24 +45,8 @@ let
} }
else throw "nvidia-x11 does not support platform ${stdenv.system}"; else throw "nvidia-x11 does not support platform ${stdenv.system}";
# patch to get the nvidia and nvidiaBeta driver to compile on kernel 4.10 patches = if libsOnly then null else patches;
patches = if libsOnly inherit prePatch;
then null
else if versionOlder version "340"
then null
else if versionOlder version "375"
then [
(fetchpatch {
name = "kernel-4.10.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/nvidia-340xx/trunk/4.10.0_kernel.patch?id=53fb1df89;
sha256 = "171hb57m968qdjcr3h8ppfzhrchf573f39rdja86a1qq1gmrv7pa";
})
# from https://git.archlinux.org/svntogit/packages.git/plain/trunk/fs52243.patch?h=packages/nvidia-340xx
# with datestamps removed
./fs52243.patch
]
else null;
inherit version useGLVND useProfiles; inherit version useGLVND useProfiles;
inherit (stdenv) system; inherit (stdenv) system;

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "smemstat-${version}"; name = "smemstat-${version}";
version = "0.01.16"; version = "0.01.17";
src = fetchurl { src = fetchurl {
url = "http://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.gz"; url = "http://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.gz";
sha256 = "14n3s6ibm9bq58drvpiasqn11ci6mrwswfpcbpbsimx6fh2j4bi3"; sha256 = "093ifrz688cm0kmzz1c6himhbdr75ig1mcaapmqy8jadc1gaw2im";
}; };
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];
installFlags = [ "DESTDIR=$(out)" ]; installFlags = [ "DESTDIR=$(out)" ];

View File

@ -0,0 +1,44 @@
{ stdenv, fetchurl, makeWrapper, jre, utillinux, getopt }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "5.4.0";
name = "elasticsearch-${version}";
src = fetchurl {
url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
sha256 = "1ml2dvwxxhj3azj13wa8xd08kpapal2477lpcaxzw5gnzizgyx5z";
};
patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
buildInputs = [ makeWrapper jre ] ++
(if (!stdenv.isDarwin) then [utillinux] else [getopt]);
installPhase = ''
mkdir -p $out
cp -R bin config lib modules plugins $out
chmod -x $out/bin/*.*
wrapProgram $out/bin/elasticsearch \
--prefix ES_CLASSPATH : "$out/lib/*" \
${if (!stdenv.isDarwin)
then ''--prefix PATH : "${utillinux}/bin/"''
else ''--prefix PATH : "${getopt}/bin"''} \
--set JAVA_HOME "${jre}" \
--set ES_JVM_OPTIONS "$out/config/jvm.options"
wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre}"
'';
meta = {
description = "Open Source, Distributed, RESTful Search Engine";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [
maintainers.apeschar
];
};
}

View File

@ -0,0 +1,34 @@
diff -rupN a/bin/elasticsearch b/bin/elasticsearch
--- a/bin/elasticsearch 2017-05-17 10:53:49.444487071 +0200
+++ b/bin/elasticsearch 2017-05-17 10:55:52.755081523 +0200
@@ -129,12 +129,7 @@ ES_JAVA_OPTS="$(parse_jvm_options "$ES_J
# If an include wasn't specified in the environment, then search for one...
if [ "x$ES_INCLUDE" = "x" ]; then
# Locations (in order) to use when searching for an include file.
- for include in /usr/share/elasticsearch/elasticsearch.in.sh \
- /usr/local/share/elasticsearch/elasticsearch.in.sh \
- /opt/elasticsearch/elasticsearch.in.sh \
- ~/.elasticsearch.in.sh \
- "$ES_HOME/bin/elasticsearch.in.sh" \
- "`dirname "$0"`"/elasticsearch.in.sh; do
+ for include in "`dirname "$0"`"/elasticsearch.in.sh; do
if [ -r "$include" ]; then
. "$include"
break
diff -rupN a/bin/elasticsearch.in.sh b/bin/elasticsearch.in.sh
--- a/bin/elasticsearch.in.sh 2017-04-28 19:41:47.000000000 +0200
+++ b/bin/elasticsearch.in.sh 2017-05-17 10:56:49.303519788 +0200
@@ -1,13 +1 @@
#!/bin/bash
-
-# check in case a user was using this mechanism
-if [ "x$ES_CLASSPATH" != "x" ]; then
- cat >&2 << EOF
-Error: Don't modify the classpath with ES_CLASSPATH. Best is to add
-additional elements via the plugin mechanism, or if code must really be
-added to the main classpath, add jars to lib/ (unsupported).
-EOF
- exit 1
-fi
-
-ES_CLASSPATH="$ES_HOME/lib/*"

View File

@ -0,0 +1,31 @@
diff -rupN a/bin/elasticsearch b/bin/elasticsearch
--- a/bin/elasticsearch 2017-05-17 10:53:42.214686741 +0200
+++ b/bin/elasticsearch 2017-05-17 10:53:49.444487071 +0200
@@ -105,7 +105,11 @@ while [ -h "$SCRIPT" ] ; do
done
# determine elasticsearch home
-ES_HOME=`dirname "$SCRIPT"`/..
+
+if [ -z "$ES_HOME" ]; then
+ echo "You must set the ES_HOME var" >&2
+ exit 1
+fi
# make ELASTICSEARCH_HOME absolute
ES_HOME=`cd "$ES_HOME"; pwd`
diff -rupN a/bin/elasticsearch-plugin b/bin/elasticsearch-plugin
--- a/bin/elasticsearch-plugin 2017-05-17 10:53:42.214686741 +0200
+++ b/bin/elasticsearch-plugin 2017-05-17 10:53:49.445487044 +0200
@@ -16,7 +16,10 @@ while [ -h "$SCRIPT" ] ; do
done
# determine elasticsearch home
-ES_HOME=`dirname "$SCRIPT"`/..
+if [ -z "$ES_HOME" ]; then
+ echo "You must set the ES_HOME var" >&2
+ exit 1
+fi
# make ELASTICSEARCH_HOME absolute
ES_HOME=`cd "$ES_HOME"; pwd`

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5"; sha256 = "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5";
}; };
patches = [ ./fix-nix-usernamespace-build.patch ];
configurePhase = '' configurePhase = ''
cd ${name} cd ${name}

View File

@ -0,0 +1,10 @@
--- admin.org/daemontools-0.76/src/chkshsgr.c 2001-07-12 17:49:49.000000000 +0100
+++ admin/daemontools-0.76/src/chkshsgr.c 2017-05-31 23:54:56.662174028 +0100
@@ -4,6 +4,7 @@
int main()
{
+ return 0;
short x[4];
x[0] = x[1] = 0;

View File

@ -0,0 +1,13 @@
{ ocamlPackages }:
with ocamlPackages;
janePackage {
name = "patdiff";
hash = "15b6nkmd2z07j4nnmkb2g6qn3daw2xmmz3lgswkj03v29ffib014";
buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre ];
meta = {
description = "File Diff using the Patience Diff algorithm";
inherit (core_extended.meta) platforms;
};
}

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