mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 21:50:55 +00:00
Merge remote-tracking branch 'upstream/master' into HEAD
This commit is contained in:
commit
8b5dc2d67b
|
@ -128,7 +128,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
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>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
|
|
@ -5,8 +5,9 @@
|
|||
*/
|
||||
let
|
||||
|
||||
# trivial, often used functions
|
||||
# often used, or depending on very little
|
||||
trivial = import ./trivial.nix;
|
||||
fixedPoints = import ./fixed-points.nix;
|
||||
|
||||
# datatypes
|
||||
attrsets = import ./attrsets.nix;
|
||||
|
@ -42,7 +43,7 @@ let
|
|||
filesystem = import ./filesystem.nix;
|
||||
|
||||
in
|
||||
{ inherit trivial
|
||||
{ inherit trivial fixedPoints
|
||||
attrsets lists strings stringsWithDeps
|
||||
customisation maintainers meta sources
|
||||
modules options types
|
||||
|
@ -55,6 +56,7 @@ in
|
|||
}
|
||||
# !!! don't include everything at top-level; perhaps only the most
|
||||
# commonly used functions.
|
||||
// trivial // lists // strings // stringsWithDeps // attrsets // sources
|
||||
// trivial // fixedPoints
|
||||
// lists // strings // stringsWithDeps // attrsets // sources
|
||||
// options // types // meta // debug // misc // modules
|
||||
// customisation
|
||||
|
|
78
lib/fixed-points.nix
Normal file
78
lib/fixed-points.nix
Normal 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);
|
||||
};
|
||||
}
|
|
@ -96,14 +96,14 @@ rec {
|
|||
iphone64 = {
|
||||
config = "aarch64-apple-darwin14";
|
||||
arch = "arm64";
|
||||
libc = "libsystem";
|
||||
libc = "libSystem";
|
||||
platform = {};
|
||||
};
|
||||
|
||||
iphone32 = {
|
||||
config = "arm-apple-darwin10";
|
||||
arch = "armv7-a";
|
||||
libc = "libsystem";
|
||||
libc = "libSystem";
|
||||
platform = {};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# to run these tests:
|
||||
# nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix
|
||||
# if the resulting list is empty, all tests passed
|
||||
let inherit (builtins) add; in
|
||||
with import ../default.nix;
|
||||
|
||||
runTests {
|
||||
|
@ -88,6 +87,37 @@ runTests {
|
|||
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
|
||||
|
||||
testFilter = {
|
||||
|
@ -266,14 +296,14 @@ runTests {
|
|||
res4 = let x = defaultOverridableDelayableArgs id { a = 7; };
|
||||
in (x.merge) ( x: { b = 10; });
|
||||
res5 = let x = defaultOverridableDelayableArgs id { a = 7; };
|
||||
in (x.merge) ( x: { a = add x.a 3; });
|
||||
res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
|
||||
in (x.merge) ( x: { a = builtins.add x.a 3; });
|
||||
res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
|
||||
y = x.merge {};
|
||||
in (y.merge) { a = 10; };
|
||||
|
||||
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
|
||||
in (x2.replace) { a = 10; }; # and override the value by 10
|
||||
|
||||
|
|
|
@ -43,84 +43,6 @@ rec {
|
|||
*/
|
||||
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 = f: a: b: f b a;
|
||||
|
||||
|
|
|
@ -78,6 +78,17 @@ rmdir /var/lib/ipfs/.ipfs
|
|||
</programlisting>
|
||||
</para>
|
||||
</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>
|
||||
|
||||
|
||||
|
|
|
@ -222,13 +222,11 @@ in
|
|||
'' + cfg.extraResolvconfConf + ''
|
||||
'';
|
||||
|
||||
} // (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";
|
||||
}
|
||||
));
|
||||
} // optionalAttrs config.services.resolved.enable {
|
||||
"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 =
|
||||
optionalAttrs (cfg.proxy.default != null) {
|
||||
|
|
|
@ -28,7 +28,7 @@ let
|
|||
nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
|
||||
|
||||
nvidiaPackage = nvidia: pkgs:
|
||||
if !nvidia.useGLVND then nvidia
|
||||
if !nvidia.useGLVND then nvidia.out
|
||||
else pkgs.buildEnv {
|
||||
name = "nvidia-libs";
|
||||
paths = [ pkgs.libglvnd nvidia.out ];
|
||||
|
@ -56,7 +56,8 @@ in
|
|||
hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs;
|
||||
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 ];
|
||||
|
||||
|
|
|
@ -38,6 +38,10 @@ let
|
|||
|
||||
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
|
||||
|
||||
{
|
||||
|
@ -74,7 +78,7 @@ in
|
|||
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/db/postgresql";
|
||||
example = "/var/lib/postgresql/9.6";
|
||||
description = ''
|
||||
Data directory for PostgreSQL.
|
||||
'';
|
||||
|
@ -160,7 +164,13 @@ in
|
|||
# Note: when changing the default, make it conditional on
|
||||
# ‘system.stateVersion’ to maintain compatibility with existing
|
||||
# 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
|
||||
''
|
||||
|
@ -205,7 +215,7 @@ in
|
|||
''
|
||||
# Initialise the database.
|
||||
if ! test -e ${cfg.dataDir}/PG_VERSION; then
|
||||
initdb -U root
|
||||
initdb -U ${superuser}
|
||||
# See postStart!
|
||||
touch "${cfg.dataDir}/.first_startup"
|
||||
fi
|
||||
|
@ -237,14 +247,14 @@ in
|
|||
# Wait for PostgreSQL to be ready to accept connections.
|
||||
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
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if test -e "${cfg.dataDir}/.first_startup"; then
|
||||
${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"
|
||||
fi
|
||||
|
|
|
@ -488,9 +488,7 @@ in {
|
|||
# create index
|
||||
${pkgs.python27Packages.graphite_web}/bin/build-index.sh
|
||||
|
||||
chown graphite:graphite ${cfg.dataDir}
|
||||
chown graphite:graphite ${cfg.dataDir}/whisper
|
||||
chown -R graphite:graphite ${cfg.dataDir}/log
|
||||
chown -R graphite:graphite ${cfg.dataDir}
|
||||
|
||||
touch ${dataDir}/db-created
|
||||
fi
|
||||
|
|
|
@ -5,13 +5,22 @@ with lib;
|
|||
let
|
||||
cfg = config.services.elasticsearch;
|
||||
|
||||
es5 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "5" >= 0;
|
||||
|
||||
esConfig = ''
|
||||
network.host: ${cfg.listenAddress}
|
||||
network.port: ${toString cfg.port}
|
||||
network.tcp.port: ${toString cfg.tcp_port}
|
||||
# TODO: find a way to enable security manager
|
||||
security.manager.enabled: false
|
||||
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.tcp.port: ${toString cfg.tcp_port}
|
||||
# TODO: find a way to enable security manager
|
||||
security.manager.enabled: false
|
||||
''}
|
||||
|
||||
${cfg.extraConf}
|
||||
'';
|
||||
|
||||
|
@ -19,13 +28,18 @@ let
|
|||
name = "elasticsearch-config";
|
||||
paths = [
|
||||
(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 {
|
||||
name = "elasticsearch-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 {
|
||||
|
@ -85,18 +99,30 @@ in {
|
|||
|
||||
logging = mkOption {
|
||||
description = "Elasticsearch logging configuration.";
|
||||
default = ''
|
||||
rootLogger: INFO, console
|
||||
logger:
|
||||
action: INFO
|
||||
com.amazonaws: WARN
|
||||
appender:
|
||||
console:
|
||||
type: console
|
||||
layout:
|
||||
type: consolePattern
|
||||
conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
|
||||
'';
|
||||
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
|
||||
logger:
|
||||
action: INFO
|
||||
com.amazonaws: WARN
|
||||
appender:
|
||||
console:
|
||||
type: console
|
||||
layout:
|
||||
type: consolePattern
|
||||
conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
|
||||
'';
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
|
@ -112,6 +138,12 @@ in {
|
|||
description = "Extra command line options for the elasticsearch launcher.";
|
||||
default = [];
|
||||
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" ];
|
||||
};
|
||||
|
||||
|
@ -133,13 +165,21 @@ in {
|
|||
path = [ pkgs.inetutils ];
|
||||
environment = {
|
||||
ES_HOME = cfg.dataDir;
|
||||
ES_JAVA_OPTS = toString ([ "-Des.path.conf=${configDir}" ] ++ cfg.extraJavaOptions);
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
|
||||
ExecStart = "${cfg.package}/bin/elasticsearch ${toString cfg.extraCmdLineOptions}";
|
||||
User = "elasticsearch";
|
||||
PermissionsStartOnly = true;
|
||||
LimitNOFILE = "1024000";
|
||||
};
|
||||
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}
|
||||
|
||||
# Install plugins
|
||||
|
|
|
@ -1550,10 +1550,10 @@
|
|||
}) {};
|
||||
rainbow-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "rainbow-mode";
|
||||
version = "0.12";
|
||||
version = "0.13";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/rainbow-mode-0.12.el";
|
||||
sha256 = "10a7qs7fvw4qi4vxj9n56j26gjk61bl79dgz4md1d26slb2j1c04";
|
||||
url = "https://elpa.gnu.org/packages/rainbow-mode-0.13.el";
|
||||
sha256 = "1d3aamx6qgqqpqijwsr02ggwrh67gfink1bir0692alfkm3zdddl";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -1564,10 +1564,10 @@
|
|||
realgud = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, load-relative, loc-changes, test-simple }:
|
||||
elpaBuild {
|
||||
pname = "realgud";
|
||||
version = "1.4.3";
|
||||
version = "1.4.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/realgud-1.4.3.tar";
|
||||
sha256 = "07yfah8kmr60rhrj8y8gs7l85hsbylv26crw3qbqh67ka4ykpj01";
|
||||
url = "https://elpa.gnu.org/packages/realgud-1.4.4.tar";
|
||||
sha256 = "1nc8km339ip90h1j55ahfga03v7x7rh4iycmw6yrxyzir68vwn7c";
|
||||
};
|
||||
packageRequires = [
|
||||
cl-lib
|
||||
|
@ -1730,10 +1730,10 @@
|
|||
soap-client = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "soap-client";
|
||||
version = "3.1.1";
|
||||
version = "3.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/soap-client-3.1.1.tar";
|
||||
sha256 = "0is2923g882farf73dix6ncq3m26yn5j5qr8wz6s0xad04zdbdhk";
|
||||
url = "https://elpa.gnu.org/packages/soap-client-3.1.2.tar";
|
||||
sha256 = "0crfpp2ksqvzf2j3q44qq6z8zh1r10q9kw12cxbmjiih89q01b68";
|
||||
};
|
||||
packageRequires = [ cl-lib ];
|
||||
meta = {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -587,6 +587,27 @@
|
|||
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 }:
|
||||
melpaBuild {
|
||||
pname = "ac-slime";
|
||||
|
@ -4006,12 +4027,12 @@
|
|||
circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "circe";
|
||||
version = "2.4";
|
||||
version = "2.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgenschaefer";
|
||||
repo = "circe";
|
||||
rev = "87f2d8604e41c6caf68cff3fcf61b1f4d4e8a961";
|
||||
sha256 = "19mjzws9hiqhaa8v0wxa369m3qzam2axvhcqcrggdjjsr7hyhvwr";
|
||||
rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
|
||||
sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
|
||||
|
@ -5112,22 +5133,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
company-rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
|
||||
melpaBuild {
|
||||
pname = "company-rtags";
|
||||
version = "2.9";
|
||||
version = "2.10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Andersbakken";
|
||||
repo = "rtags";
|
||||
rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936";
|
||||
sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv";
|
||||
rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
|
||||
sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
|
||||
sha256 = "0dicxbp3xn02pflrpfndj7hs494prvz64llsk1xpc2z23kfarp6f";
|
||||
name = "company-rtags";
|
||||
};
|
||||
packageRequires = [];
|
||||
packageRequires = [ company emacs rtags ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/company-rtags";
|
||||
license = lib.licenses.free;
|
||||
|
@ -7555,12 +7576,12 @@
|
|||
easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "easy-hugo";
|
||||
version = "0.7.7";
|
||||
version = "0.9.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "masasam";
|
||||
repo = "emacs-easy-hugo";
|
||||
rev = "99833cf30cfd702e5f04f7c4cd80217f17a56d70";
|
||||
sha256 = "0a4g4zwwxl6gbql14fsnk1ax718vbdfjgczx5kwv3bl45ga928pc";
|
||||
rev = "708bea9516812c6641ef8fc6f42dc087036addd8";
|
||||
sha256 = "0yz0q3qvv9qxvwvjqd9zjqrrg6qxag092ni16vpni1mihw5803b8";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
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 }:
|
||||
melpaBuild {
|
||||
pname = "exwm-x";
|
||||
version = "0.8.1";
|
||||
version = "1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tumashu";
|
||||
repo = "exwm-x";
|
||||
rev = "a928743ea35b21efb574fb9c77ea65c5084cccd1";
|
||||
sha256 = "0pv3r2b5lr1dxq5pr9y0gra08aklja7vd6q5r0gbp8ac71xbrg2g";
|
||||
rev = "47952c09e74fc0da3135e7ba0d4fef0eb88f98dc";
|
||||
sha256 = "14mf388iygirlv7j5db2x5avn70b54mm34kd3y851n6i6yzgz7jw";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x";
|
||||
|
@ -12050,22 +12071,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
flycheck-rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
|
||||
melpaBuild {
|
||||
pname = "flycheck-rtags";
|
||||
version = "2.9";
|
||||
version = "2.10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Andersbakken";
|
||||
repo = "rtags";
|
||||
rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936";
|
||||
sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv";
|
||||
rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
|
||||
sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
|
||||
sha256 = "00v6shfs7piqapmyqyi0fk3182rcfa3p8wr2cm5vqlrana13kbw4";
|
||||
name = "flycheck-rtags";
|
||||
};
|
||||
packageRequires = [];
|
||||
packageRequires = [ emacs flycheck rtags ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/flycheck-rtags";
|
||||
license = lib.licenses.free;
|
||||
|
@ -12683,12 +12704,12 @@
|
|||
flyspell-popup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
|
||||
melpaBuild {
|
||||
pname = "flyspell-popup";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "xuchunyang";
|
||||
repo = "flyspell-popup";
|
||||
rev = "a3890c9272c0cfa1e2cde6526f7d6280ad4af00c";
|
||||
sha256 = "1rk7fsill0salrhb4anbf698nd21nxj8pni35brbmv64nj9fhfic";
|
||||
rev = "29311849bfd253b9b689bf331860b4c4d3bd4dde";
|
||||
sha256 = "0x7jilwb0fgzsr7ma59sgd0d4122cl0hwzr28vi3z5s8wdab7nc4";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
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 }:
|
||||
melpaBuild {
|
||||
pname = "helm";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-helm";
|
||||
repo = "helm";
|
||||
rev = "bdc6711656954562ed721545ac22ee3a507110a3";
|
||||
sha256 = "1zx41nwfpzc0zrzi3bm6pmja0rl1jl3brbybiww4f4kqh34d0ddj";
|
||||
rev = "05a297dda6fe9dc42e04220275b0bf2a37b56582";
|
||||
sha256 = "04l3sjvy5y7ph9h02y4jlasd98bihqn19ngpf2yhc0k5mdhkww1s";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
|
||||
|
@ -15994,12 +16015,12 @@
|
|||
helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "helm-core";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-helm";
|
||||
repo = "helm";
|
||||
rev = "bdc6711656954562ed721545ac22ee3a507110a3";
|
||||
sha256 = "1zx41nwfpzc0zrzi3bm6pmja0rl1jl3brbybiww4f4kqh34d0ddj";
|
||||
rev = "05a297dda6fe9dc42e04220275b0bf2a37b56582";
|
||||
sha256 = "04l3sjvy5y7ph9h02y4jlasd98bihqn19ngpf2yhc0k5mdhkww1s";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
|
||||
|
@ -16957,6 +16978,27 @@
|
|||
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 }:
|
||||
melpaBuild {
|
||||
pname = "helm-rubygems-org";
|
||||
|
@ -19161,6 +19203,27 @@
|
|||
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 }:
|
||||
melpaBuild {
|
||||
pname = "ivy-youtube";
|
||||
|
@ -21609,22 +21672,22 @@
|
|||
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 {
|
||||
pname = "markdown-mode";
|
||||
version = "2.1";
|
||||
version = "2.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jrblevin";
|
||||
repo = "markdown-mode";
|
||||
rev = "c6eb56eff31f7961c9a00a5d18eaf939c2c40b7d";
|
||||
sha256 = "098lf4n4rpx00sm07sy8dwp683a4sb7x0p15mrfp268apir3kkxb";
|
||||
rev = "e9bb47d8d87ae8205ed935a3b485e12c12e43aa9";
|
||||
sha256 = "1lccxj18zhhhrc87dzm8fd4989pgkvbfkrlp53bjbrzzkh9bd6vs";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
|
||||
sha256 = "0gfb3hp87kpcrvxax3m5hsaclwwk1qmxc73cg26smzd1kjfwgz14";
|
||||
name = "markdown-mode";
|
||||
};
|
||||
packageRequires = [ cl-lib ];
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/markdown-mode";
|
||||
license = lib.licenses.free;
|
||||
|
@ -21955,12 +22018,12 @@
|
|||
meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
|
||||
melpaBuild {
|
||||
pname = "meghanada";
|
||||
version = "0.7.9";
|
||||
version = "0.7.10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mopemope";
|
||||
repo = "meghanada-emacs";
|
||||
rev = "b12faec5b6698852be441efdf86ac0ff30b03f07";
|
||||
sha256 = "0y9d0cvv5rdhcbsik3vilp6j1mgmnlwjpcvbhibgw4mfzaxcqz4k";
|
||||
rev = "71e28b98653ff269a30ddf32d8ecef43a8656d76";
|
||||
sha256 = "0wrxriqg3dn90za52pzsmvqaszkqmx0xmxkzghlq8s21xc21kznp";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
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 }:
|
||||
melpaBuild {
|
||||
pname = "msvc";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "yaruopooner";
|
||||
repo = "msvc";
|
||||
rev = "71c38323187c98b32250b89088768599bb216ddb";
|
||||
sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg";
|
||||
rev = "ffc7974f1cafb5e03bae2765afc6a984ffcb0f7e";
|
||||
sha256 = "155bgayysdyr5a9wpx78azpipd11s3k8ijgw4mpvbmkk5j7fi6a8";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc";
|
||||
|
@ -24771,6 +24834,26 @@
|
|||
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 }:
|
||||
melpaBuild {
|
||||
pname = "org-mime";
|
||||
|
@ -29480,12 +29563,12 @@
|
|||
rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "rtags";
|
||||
version = "2.9";
|
||||
version = "2.10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Andersbakken";
|
||||
repo = "rtags";
|
||||
rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936";
|
||||
sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv";
|
||||
rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
|
||||
sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
|
||||
|
@ -29925,8 +30008,8 @@
|
|||
src = fetchFromGitHub {
|
||||
owner = "ensime";
|
||||
repo = "emacs-scala-mode";
|
||||
rev = "970d88eeff82df635ee12336ab1eb185585f30c6";
|
||||
sha256 = "0wfv20dyb13v7fbfsvy0k5dajvmyyhn80l6xyx6kppiv3qmy9s90";
|
||||
rev = "52091426ee319b4ec53799696bae75571f7ecbf6";
|
||||
sha256 = "15vr1yz23h0kb7h3d6gh3ljax762666lkz53chqgm54bszgfwjcm";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode";
|
||||
|
@ -30546,6 +30629,27 @@
|
|||
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 }:
|
||||
melpaBuild {
|
||||
pname = "shrink-whitespace";
|
||||
|
@ -30588,6 +30692,27 @@
|
|||
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 }:
|
||||
melpaBuild {
|
||||
pname = "sift";
|
||||
|
@ -31515,12 +31640,12 @@
|
|||
spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }:
|
||||
melpaBuild {
|
||||
pname = "spaceline-all-the-icons";
|
||||
version = "1.3.2";
|
||||
version = "1.3.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "domtronn";
|
||||
repo = "spaceline-all-the-icons.el";
|
||||
rev = "c2c0b9249204b8f9a405a63abf20d07ac8e8ef79";
|
||||
sha256 = "0frg52kdfygzz9r1w1d39dmlgksfy07p54xyrcpwfzkg0hh7b80y";
|
||||
rev = "d5750c0aa40a66c6d76c74540587b8cbb0142350";
|
||||
sha256 = "1rjb7jpbizafxixqrwzzxgbah0b8b8wsmqxzvqdv867i5w6682p2";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons";
|
||||
|
@ -33442,12 +33567,12 @@
|
|||
tracking = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "tracking";
|
||||
version = "2.4";
|
||||
version = "2.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgenschaefer";
|
||||
repo = "circe";
|
||||
rev = "87f2d8604e41c6caf68cff3fcf61b1f4d4e8a961";
|
||||
sha256 = "19mjzws9hiqhaa8v0wxa369m3qzam2axvhcqcrggdjjsr7hyhvwr";
|
||||
rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
|
||||
sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
|
||||
|
@ -34078,12 +34203,12 @@
|
|||
utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "utop";
|
||||
version = "1.19.3";
|
||||
version = "2.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "diml";
|
||||
repo = "utop";
|
||||
rev = "ee81ce49bab31757837bed35a182d29cbd54dfcb";
|
||||
sha256 = "1p2vjxw0y6py5hly6vjl4gxm171n9pr4rkimxd0rg3dl1npvn99z";
|
||||
rev = "d658bd8f63ed6b23144fdba2ee3f2a6d77979c4f";
|
||||
sha256 = "1x96zxkvfq8mshgi654vvklrr7dqvq9can89n4jrrb82pcn06k5j";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
|
||||
|
@ -34726,22 +34851,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
web-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "web-mode";
|
||||
version = "14.1";
|
||||
version = "15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "fxbois";
|
||||
repo = "web-mode";
|
||||
rev = "44de4e0198051b52110d50d860db26ed770219f3";
|
||||
sha256 = "0pbim6aw0w9z5bb0hl98bda1a19pjmfki6jr1mxcfi5yismk2863";
|
||||
rev = "aef2a32f6e5e2fdb7f38a650b009a737c67959e2";
|
||||
sha256 = "14x91pngh9i7r66inssc4jaqvzv2kb3bnbks5x2bhsidvls7s28r";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
|
||||
sha256 = "1vyhyc5nf4yj2m63inpwmcqvlsihaqw8nn8xvfdg44nhl6vjz97i";
|
||||
name = "web-mode";
|
||||
};
|
||||
packageRequires = [];
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/web-mode";
|
||||
license = lib.licenses.free;
|
||||
|
@ -34939,12 +35064,12 @@
|
|||
which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "which-key";
|
||||
version = "2.0.1";
|
||||
version = "3.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "justbur";
|
||||
repo = "emacs-which-key";
|
||||
rev = "3c7ecc69d48258af66978a685aedcbc8d1ada512";
|
||||
sha256 = "1q6v4bnw9sl6f138lxkqp979xpbgsb57gxj8a1k7clms16kkn5ci";
|
||||
rev = "3ff303b50495d492cfac70cc9f7321971928bdb1";
|
||||
sha256 = "1q0rg13lq31fqnkpkss61pfyx7ib7i4r1jbcavpjyr5gqcb08fzm";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
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 }:
|
||||
melpaBuild {
|
||||
pname = "writeroom-mode";
|
||||
version = "3.6.1";
|
||||
version = "3.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "joostkremers";
|
||||
repo = "writeroom-mode";
|
||||
rev = "f853350da848d0814f822587ae310e52d895f523";
|
||||
sha256 = "1al4ch96p0c8qf51pqv62nl3cwz05w8s2cgkxl01ff3l9y7qjsvz";
|
||||
rev = "d3252f54c8f9f37a19d6a21fb2291c3da7a7121a";
|
||||
sha256 = "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode";
|
||||
|
@ -35906,8 +36031,8 @@
|
|||
version = "1.78";
|
||||
src = fetchhg {
|
||||
url = "https://www.yatex.org/hgrepos/yatex/";
|
||||
rev = "9db0e1522847";
|
||||
sha256 = "17f0n7la3p72n8qmdlfq1i9plr3cqc0gsd758lz103a8rbp9aj1d";
|
||||
rev = "c940797c19ad";
|
||||
sha256 = "17jc65kaf37c86karq5fl2417i5csq5gn4yqagjzlik1cd6vrj03";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex";
|
||||
|
|
|
@ -26,17 +26,18 @@ stdenv.mkDerivation rec {
|
|||
postPatch = ''
|
||||
patchShebangs share/extensions
|
||||
patchShebangs fix-roff-punct
|
||||
'';
|
||||
|
||||
# Python is used at run-time to execute scripts, e.g., those from
|
||||
# the "Effects" menu.
|
||||
propagatedBuildInputs = [ python2Env ];
|
||||
# Python is used at run-time to execute scripts, e.g., those from
|
||||
# the "Effects" menu.
|
||||
substituteInPlace src/extension/implementation/script.cpp \
|
||||
--replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
|
||||
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
|
||||
makeWrapper intltool gsl poppler imagemagick libwpg librevenge
|
||||
libvisio libcdr libexif automake114x potrace cmake
|
||||
libvisio libcdr libexif automake114x potrace cmake python2Env
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoPackage rec {
|
||||
name = "pachyderm-${version}";
|
||||
version = "1.3.0";
|
||||
version = "1.4.6";
|
||||
rev = "v${version}";
|
||||
|
||||
goPackagePath = "github.com/pachyderm/pachyderm";
|
||||
|
@ -12,7 +12,7 @@ buildGoPackage rec {
|
|||
inherit rev;
|
||||
owner = "pachyderm";
|
||||
repo = "pachyderm";
|
||||
sha256 = "0y25xh6h7p8hg0bzrjlschmz62r6dwh5mrvbnni1hb1pm0w9jb6g";
|
||||
sha256 = "1fivihn9s04lmzdiwg0f05qm708fb14xy81pbc31wxdyjw28m8ns";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -48,13 +48,9 @@ in {
|
|||
sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb";
|
||||
};
|
||||
|
||||
terraform_0_9_4 = generic {
|
||||
version = "0.9.4";
|
||||
sha256 = "07vcmjyl0y48hm5lqqzdd51hmrxapvywzbdkg5f3rcqd7dn9c2xs";
|
||||
postPatch = ''
|
||||
rm builtin/providers/dns/data_dns_cname_record_set_test.go
|
||||
rm builtin/providers/vsphere/resource_vsphere_file_test.go
|
||||
'';
|
||||
doCheck = true;
|
||||
terraform_0_9_6 = generic {
|
||||
version = "0.9.6";
|
||||
sha256 = "1f6z1zkklzpqgc7akgdz1g306ccmhni5lmg7i6g762n3qai60bnv";
|
||||
doCheck = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dino-unstable-2017-05-11";
|
||||
name = "dino-unstable-2017-05-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dino";
|
||||
repo = "dino";
|
||||
rev = "b09a056a13de131a4f2f072ffa2f795a0bb2abe7";
|
||||
sha256 = "1dis1kgaqb1925anmxlcy9n722zzyn5wvq8lmczi6h2h3j7wnnmz";
|
||||
rev = "2480c1ec26a8e0ccef3ea76e3c29566221405ffb";
|
||||
sha256 = "0wdjj38gbr2j6yklna3pd8nsfpdfp1j936dy8s49pzayw4pxs2g2";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "insync-${version}";
|
||||
version = "1.3.13.36129";
|
||||
version = "1.3.16.36155";
|
||||
src = fetchurl {
|
||||
url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
|
||||
sha256 = "18d8ww529nvhwcl5k31qmkzb83k9753ics0dw64w202r8vwbm3cd";
|
||||
sha256 = "1gf1qg7mkbcgqhwxkiljmd1w2zvarq6vhxhips3w06bqdyg12210";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -20,11 +20,11 @@ with stdenv.lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mutt-${version}";
|
||||
version = "1.8.2";
|
||||
version = "1.8.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
|
||||
sha256 = "0dgjjryp1ggbc6ivy9cfz5jl3gnbahb6d6hcwn7c7wk5npqpn18x";
|
||||
sha256 = "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv";
|
||||
};
|
||||
|
||||
patchPhase = optionalString (openssl != null) ''
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, qmakeHook, qtscript }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "smplayer-17.4.2";
|
||||
name = "smplayer-17.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
||||
sha256 = "1lc5pj0y56yynygb7cnl98lpvsf82rc0aa4si8isn81nvy07hmq5";
|
||||
sha256 = "0kgrkn50sgr79jfj66p59wka17prnxibf7fbfpg5m0n95kdkr7rg";
|
||||
};
|
||||
|
||||
buildInputs = [ qtscript ];
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv, fetchurl, qmakeHook, qtscript, qtwebkit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "17.1.0";
|
||||
version = "17.5.0";
|
||||
name = "smtube-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2";
|
||||
sha256 = "1kg45qkr7nvchy9ih24vlbpkn6vd8v8qw5xqsjhjpjkizcmzaa61";
|
||||
sha256 = "13m0ll18n1da8i4r4b7gn0jjz9dgrkkyk9mpfas4rgnjw92m5jld";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
|
|
@ -54,25 +54,25 @@ let
|
|||
+ stdenv.lib.optionalString (!withGui) "-core";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.6.12";
|
||||
version = "1.8.2";
|
||||
name = "${flavor}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arduino";
|
||||
repo = "Arduino";
|
||||
rev = "${version}";
|
||||
sha256 = "0rz8dv1mncwx2wkafakxqdi2y0rq3f72fr57cg0z5hgdgdm89lkh";
|
||||
sha256 = "1ssznjmzmahayslj2xnci9b5wpsl53nyg85say54akng93qipmfb";
|
||||
};
|
||||
|
||||
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 =
|
||||
lib.optionalString ("${teensy_architecture}" == "linux64")
|
||||
"1q4wv6s0900hyv9z1mjq33fr2isscps4q3bsy0h12wi3l7ir94g9"
|
||||
"0qvb5z9y6nsqy0kzib9fvvbn8dakl50vib6r3nm6bnpvyxzwjl2r"
|
||||
+ lib.optionalString ("${teensy_architecture}" == "linux32")
|
||||
"06fl951f44avqyqim5qmy73siylbqcnsmz55zmj2dzhgf4sflkvc"
|
||||
"14ca62vq7cpx269vfd92shi80qj8spf0dzli8gfcb39ss2zc4jf1"
|
||||
+ lib.optionalString ("${teensy_architecture}" == "linuxarm")
|
||||
"0ldf33w8wkqwklcj8fn4p22f23ibpwpf7873dc6i2jfmmbx0yvxn";
|
||||
"122z1gxcgkmwjb8wdklb2w8c3qkj5rc1ap5n4a8fi3kjz29va9rx";
|
||||
};
|
||||
|
||||
buildInputs = [ jdk ant libusb libusb1 unzip zlib ncurses5 readline
|
||||
|
@ -93,6 +93,10 @@ stdenv.mkDerivation rec {
|
|||
cp -v $file_src $file_dst
|
||||
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 ../build && ant
|
||||
cd ..
|
||||
|
@ -208,7 +212,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "Open-source electronics prototyping platform";
|
||||
homepage = http://arduino.cc/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
license = if withTeensyduino then licenses.unfreeRedistributable else licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ antono auntie robberer bjornfor ];
|
||||
};
|
||||
|
|
|
@ -2,28 +2,28 @@
|
|||
|
||||
{
|
||||
"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";
|
||||
};
|
||||
"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";
|
||||
};
|
||||
"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";
|
||||
};
|
||||
"build/Firmata-2.5.3.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Firmata/archive/2.5.3.zip";
|
||||
sha256 = "1ims6bdmwv8lgcvd4ri4i39vqm1q5jbwirmki35bybqqb1sl171v";
|
||||
"build/Firmata-2.5.6.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Firmata/archive/2.5.6.zip";
|
||||
sha256 = "117dd4pdlgv60gdlgm2ckjfq89i0dg1q8vszg6hxywdf701c1fk4";
|
||||
};
|
||||
"build/Bridge-1.6.3.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Bridge/archive/1.6.3.zip";
|
||||
sha256 = "1lha5wkzz63bgcn7bhx4rmgsh9ywa47lffycpyz6qjnl1pvm5mmj";
|
||||
};
|
||||
"build/Robot_Control-1.0.2.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.2.zip";
|
||||
sha256 = "1wdpz3ilnza3lfd5a628dryic46j72h4a89y8vp0qkbscvifcvdk";
|
||||
"build/Robot_Control-1.0.3.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.3.zip";
|
||||
sha256 = "1pc3b8skbpx7j32jnxa67mfqhnsmfz3876pc9mdyzpsad4mmcn62";
|
||||
};
|
||||
"build/Robot_Motor-1.0.2.zip" = fetchurl {
|
||||
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";
|
||||
sha256 = "1zs6ymlzw66bglrm0x6d3cvr52q85c8rlm525x0wags111xx3s90";
|
||||
};
|
||||
"build/Temboo-1.1.7.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Temboo/archive/1.1.7.zip";
|
||||
sha256 = "0fq2q6qs0qp15njsl9dif8dkpxgb4cgg8jk3s5y0fcz9lb8m2j50";
|
||||
"build/Temboo-1.2.1.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/Temboo/archive/1.2.1.zip";
|
||||
sha256 = "1fyzfihsbcjpjasqbmbbfcall2zl48nzrp4xk9pslppal31mvl8x";
|
||||
};
|
||||
"build/Esplora-1.0.4.zip" = fetchurl {
|
||||
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";
|
||||
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 {
|
||||
url = "http://downloads.arduino.cc/libastylej-2.05.1-3.zip";
|
||||
url = "https://downloads.arduino.cc/libastylej-2.05.1-3.zip";
|
||||
sha256 = "0a1xy2cdl0xls5r21vy5d2j1dapn1jsdw0vbimlwnzfx7r84mxa6";
|
||||
};
|
||||
"build/liblistSerials-1.1.4.zip" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/liblistSerials/liblistSerials-1.1.4.zip";
|
||||
sha256 = "1w0zs155hs5b87i5wj049hfj2jsnf9jk30qq93wz1mxab01261v0";
|
||||
"build/liblistSerials-1.4.0.zip" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.0.zip";
|
||||
sha256 = "129mfbyx7snq3znzhkfbdjiifdr85cwk6wjn8l9ia0wynszs5zyv";
|
||||
};
|
||||
"build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.8.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";
|
||||
sha256 = "0fp4mb1qa3w02hrwd51wf261l8ywcl36mi9wipsrgx2y29pk759z";
|
||||
"build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.9.0.zip" = fetchurl {
|
||||
url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.9.0/WiFi101-Updater-ArduinoIDE-Plugin-0.9.0.zip";
|
||||
sha256 = "1nkk87q2l3bs9y387hdxzgqllm0lqpmc5kdmr6my4hjz5lcpgbza";
|
||||
};
|
||||
}
|
||||
// optionalAttrs (system == "x86_64-linux") {
|
||||
"build/arduino-builder-linux64-1.3.21_r1.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.21_r1.tar.bz2";
|
||||
sha256 = "1cqx5smzm4dhbj2ah191vbbxi0l7xj95c5gcdbgqm9283hrpfrn7";
|
||||
"build/arduino-builder-linux64-1.3.25.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.25.tar.bz2";
|
||||
sha256 = "15y80p255w2rg028vc8dq4hpqsmf770qigv3hgf78npb4qrjnqqf";
|
||||
};
|
||||
"build/linux/avr-gcc-4.9.2-atmel3.5.3-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";
|
||||
sha256 = "124icbjh28cax6pgg6bzrfdi27shsn9mjjshgrr93pczpg8sc0rr";
|
||||
"build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "132qm8l6h50z4s9h0i5mfv6bp0iia0pp9kc3gd37hkajy4bh4j0r";
|
||||
};
|
||||
"build/linux/avrdude-6.3.0-arduino6-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";
|
||||
sha256 = "08b6dbllnvzv1aqx0v037zks4r3vqcx6yxxv040wf431mmf8gd4p";
|
||||
"build/linux/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2";
|
||||
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") {
|
||||
"build/arduino-builder-linux32-1.3.21_r1.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.21_r1.tar.bz2";
|
||||
sha256 = "1prfwb5scprvd74gihd78ibsdy3806b0fsjhgyj9in4w1q8s3dxj";
|
||||
"build/arduino-builder-linux32-1.3.25.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.25.tar.bz2";
|
||||
sha256 = "0hjiqbf7xspdcr7lganqnl68qcmndc9pz06dghkrwzbzc5ki72qr";
|
||||
};
|
||||
"build/linux/avr-gcc-4.9.2-atmel3.5.3-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";
|
||||
sha256 = "0s7chsp1jyk477zvfaraf0yacvlzahkwqxpws4k0kjadghg9a27i";
|
||||
"build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "1d81z5m4cklv29hgb5ywrmyq64ymlwmjx2plm1gzs1mcpg7d9ab3";
|
||||
};
|
||||
"build/linux/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "1yyn016b5162j94nmqcznfabi5y2ly27z2whr77387bvjnqc8jsz";
|
||||
"build/linux/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2";
|
||||
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") {
|
||||
"build/arduino-builder-macosx-1.3.21_r1.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.21_r1.tar.bz2";
|
||||
sha256 = "06y5j1z9jjnqa7v6nl9dflm1qqpf3ar1jc53zxgdgsrb9c473d8l";
|
||||
"build/arduino-builder-macosx-1.3.25.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.25.tar.bz2";
|
||||
sha256 = "0inkxjzdplb8b17j7lyam6v9gca25rxmsinrkgqnx3xxgkaxz2k0";
|
||||
};
|
||||
"build/linux/avr-gcc-4.9.2-arduino5-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";
|
||||
sha256 = "12r4a1q7mh1gbasy7lqn0p4acg699lglw7il9d5f5vwd32pmh4ii";
|
||||
"build/macosx/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2";
|
||||
sha256 = "0c27i3y4f5biinxjdpp43wbj00lz7dvl08pnqr7hpkzaalsyvcv7";
|
||||
};
|
||||
"build/linux/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2";
|
||||
sha256 = "11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r";
|
||||
"build/macosx/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2";
|
||||
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") {
|
||||
"build/arduino-builder-arm-1.3.21_r1.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/arduino-builder-arm-1.3.21_r1.tar.bz2";
|
||||
sha256 = "1ik6r5n6g20x4pb0vbxbkqxgzj39f13n995ki9xgpsrq22x6g1n4";
|
||||
"build/arduino-builder-linuxarm-1.3.25.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/arduino-builder-linuxarm-1.3.25.tar.bz2";
|
||||
sha256 = "1jvlihpcbdv1sgq1wjdwp7dhznk7nd88zin6yj40kr80gcd2ykry";
|
||||
};
|
||||
"build/linux/avr-gcc-4.9.2-arduino5-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";
|
||||
sha256 = "08b8z7ca0wcgzxmjz6q5ihjrm3i10frnrcqpvwjrlsxw37ah1wvp";
|
||||
"build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "033jb1vmspcxsv0w9pk73xv195xnbnmckjsiccgqs8xx36g00dpf";
|
||||
};
|
||||
"build/linux/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "1rybp4hgk0mm7dydr3rj7yx59jzi30s4kyadzkjv13nm4ds209i4";
|
||||
"build/linux/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
|
||||
url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2";
|
||||
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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{stdenv, fetchurl, bison, flex}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "iasl-20130117";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "iasl-${version}";
|
||||
version = "20170303";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.acpica.org/download/acpica-unix-20130117.tar.gz;
|
||||
sha256 = "1zils7l7gnkbbl8916dlhvij1g625ryb7769zhzffn3flshfdivh";
|
||||
url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
|
||||
sha256 = "1dc933rr11gv1nlaf5j8ih1chdakbjbjkn34jgbm330zppmck4y0";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-O3";
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, compilerConfig ? (self: super: {})
|
||||
, packageSetConfig ? (self: super: {})
|
||||
, overrides ? (self: super: {})
|
||||
, initialPackages ? import ./hackage-packages.nix
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -10,7 +11,7 @@ let
|
|||
inherit (import ./lib.nix { inherit pkgs; }) overrideCabal makePackageSet;
|
||||
|
||||
haskellPackages = makePackageSet {
|
||||
package-set = import ./hackage-packages.nix;
|
||||
package-set = initialPackages;
|
||||
inherit ghc;
|
||||
};
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make sharedlib NDEBUG=1
|
||||
make sharedlib NDEBUG=1 "LDFLAGS=-lX11 -lGL -lXxf86vm"
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
|
|
|
@ -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> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-4_x"}:
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ./node-env.nix {
|
||||
|
|
|
@ -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> {
|
||||
inherit system;
|
||||
|
|
|
@ -57,6 +57,60 @@ let
|
|||
|
||||
# Recursively composes the dependencies of a package
|
||||
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)
|
||||
cd $TMPDIR
|
||||
|
@ -96,97 +150,17 @@ let
|
|||
# Unset the stripped name to not confuse the next unpack step
|
||||
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}"
|
||||
node ${fixImpureDependencies}
|
||||
|
||||
# Include the dependencies of the package
|
||||
${includeDependencies { inherit dependencies; }}
|
||||
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
|
||||
# native bindings
|
||||
nodeSources = runCommand "node-sources" {} ''
|
||||
|
@ -209,9 +183,7 @@ let
|
|||
buildPhase = args.buildPhase or "true";
|
||||
|
||||
compositionScript = composePackage args;
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
|
||||
passAsFile = [ "compositionScript" ];
|
||||
|
||||
installPhase = args.installPhase or ''
|
||||
# Create and enter a root node_modules/ folder
|
||||
|
@ -220,10 +192,6 @@ let
|
|||
|
||||
# Compose the package and all its dependencies
|
||||
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
|
||||
# calling executables outside the Nix store as much as possible
|
||||
|
@ -286,18 +254,12 @@ let
|
|||
buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
|
||||
|
||||
includeScript = includeDependencies { inherit dependencies; };
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
|
||||
passAsFile = [ "includeScript" ];
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/lib
|
||||
cd $out/lib
|
||||
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
|
||||
cat > package.json <<EOF
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -28,6 +28,7 @@
|
|||
, "jshint"
|
||||
, "json"
|
||||
, "jsontool"
|
||||
, "json-server"
|
||||
, "js-yaml"
|
||||
, "karma"
|
||||
, { "kibana-authentication-proxy": "git://github.com/fangli/kibana-authentication-proxy.git" }
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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";
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
605
pkgs/development/ocaml-modules/janestreet/default.nix
Normal file
605
pkgs/development/ocaml-modules/janestreet/default.nix
Normal 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)";
|
||||
};
|
||||
|
||||
}
|
28
pkgs/development/ocaml-modules/janestreet/janePackage.nix
Normal file
28
pkgs/development/ocaml-modules/janestreet/janePackage.nix
Normal 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;
|
||||
})
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
22
pkgs/development/python-modules/ecpy/default.nix
Normal file
22
pkgs/development/python-modules/ecpy/default.nix
Normal 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;
|
||||
};
|
||||
}
|
19
pkgs/development/python-modules/ed25519/default.nix
Normal file
19
pkgs/development/python-modules/ed25519/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
30
pkgs/development/python-modules/hidapi/default.nix
Normal file
30
pkgs/development/python-modules/hidapi/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
30
pkgs/development/python-modules/keepkey/default.nix
Normal file
30
pkgs/development/python-modules/keepkey/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -13,10 +13,12 @@ buildPythonPackage rec {
|
|||
};
|
||||
|
||||
# Needed by tests to setup a mockup ldap server.
|
||||
BIN = "${openldap}/bin";
|
||||
SBIN = "${openldap}/bin";
|
||||
SLAPD = "${openldap}/libexec/slapd";
|
||||
SCHEMA = "${openldap}/etc/schema";
|
||||
preCheck = ''
|
||||
export BIN="${openldap}/bin"
|
||||
export SBIN="${openldap}/bin"
|
||||
export SLAPD="${openldap}/libexec/slapd"
|
||||
export SCHEMA="${openldap}/etc/schema"
|
||||
'';
|
||||
|
||||
patches = lib.singleton (writeText "avoid-syslog.diff" ''
|
||||
diff a/Lib/slapdtest.py b/Lib/slapdtest.py
|
||||
|
|
23
pkgs/development/python-modules/ledgerblue/default.nix
Normal file
23
pkgs/development/python-modules/ledgerblue/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
26
pkgs/development/python-modules/libagent/default.nix
Normal file
26
pkgs/development/python-modules/libagent/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
21
pkgs/development/python-modules/mnemonic/default.nix
Normal file
21
pkgs/development/python-modules/mnemonic/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 {
|
||||
pname = "rarfile";
|
||||
|
@ -15,8 +21,16 @@ buildPythonPackage rec {
|
|||
|
||||
prePatch = ''
|
||||
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";
|
||||
checkPhase = ''
|
||||
py.test test -k "not test_printdir"
|
||||
|
|
19
pkgs/development/python-modules/semver/default.nix
Normal file
19
pkgs/development/python-modules/semver/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -1,45 +1,38 @@
|
|||
{ stdenv, fetchurl, buildPythonPackage, service-identity, requests,
|
||||
six, mock, twisted, incremental, coreutils, gnumake, pep8, sphinx,
|
||||
openssl, pyopenssl }:
|
||||
{ stdenv, fetchPypi, buildPythonPackage, service-identity, requests, six
|
||||
, mock, twisted, incremental, pep8 }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "treq";
|
||||
version = "17.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/t/${pname}/${name}.tar.gz";
|
||||
sha256 = "313af6dedecfdde2750968dc17653b6147cf2340b3479d70031cf741f5be0cf6";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1xhcpvsl3xqw0dq9sixk80iwyiv17djigp3815sy5pfgvvggcfii";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
propagatedBuildInputs = [ twisted requests six incremental service-identity ];
|
||||
|
||||
checkInputs = [
|
||||
pep8
|
||||
mock
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
service-identity
|
||||
requests
|
||||
twisted
|
||||
incremental
|
||||
sphinx
|
||||
six
|
||||
openssl
|
||||
pyopenssl
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${pep8}/bin/pep8 --ignore=E902 treq
|
||||
trial treq
|
||||
postPatch = ''
|
||||
rm -fv src/treq/test/test_treq_integration.py
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
# Failure: twisted.web._newclient.RequestTransmissionFailed: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]>]
|
||||
# XXX tox tries to install coverage despite it is installed
|
||||
#postBuild = ''
|
||||
# # build documentation and install in $out
|
||||
# tox -e docs
|
||||
# mkdir -pv $out/docs
|
||||
# cp -rv docs/* $out/docs/
|
||||
#'';
|
||||
|
||||
postBuild = ''
|
||||
${coreutils}/bin/mkdir -pv treq
|
||||
${coreutils}/bin/echo "${version}" | ${coreutils}/bin/tee treq/_version
|
||||
cd docs && ${gnumake}/bin/make html && cd ..
|
||||
checkPhase = ''
|
||||
pep8 --ignore=E902 treq
|
||||
trial treq
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
|
||||
{ lib, fetchPypi, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "trezor";
|
||||
version = "0.7.13";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/t/${pname}/${name}.tar.gz";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "d05f388bb56b6f61cc727999cc725078575238a0b6172450322bc55c437fefe5";
|
||||
};
|
||||
|
|
@ -18,8 +18,10 @@ buildPythonPackage rec {
|
|||
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 = ''
|
||||
py.test -k "not test_sdist"
|
||||
py.test -k "not (test_sdist or test_chained_callback)"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -4,8 +4,8 @@ buildRubyGem rec {
|
|||
inherit ruby;
|
||||
name = "${gemName}-${version}";
|
||||
gemName = "bundler";
|
||||
version = "1.14.6";
|
||||
sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
|
||||
version = "1.15.0";
|
||||
sha256 = "1k84zjr49ri7dj0mbjm7wkqdmknwdid817y2kyhn42mh4vxa68id";
|
||||
dontPatchShebangs = true;
|
||||
|
||||
postFixup = ''
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ammonite-${version}";
|
||||
version = "0.9.3";
|
||||
version = "0.9.5";
|
||||
scalaVersion = "2.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
|
||||
sha256 = "1s62idj8lg2g5kz325kqjmyks7ghhl5nzc4snji25qkgxirpibpl";
|
||||
sha256 = "1ni829qpdm5wflc1n827b9ywpv836r2068rmj9yd2nyh8b6q2him";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
|
|
26
pkgs/development/tools/build-managers/kati/default.nix
Normal file
26
pkgs/development/tools/build-managers/kati/default.nix
Normal 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;
|
||||
};
|
||||
}
|
19
pkgs/development/tools/build-managers/kati/version.patch
Normal file
19
pkgs/development/tools/build-managers/kati/version.patch
Normal 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' > $@
|
|
@ -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 {
|
||||
name = "google-app-engine-go-sdk-${version}";
|
||||
|
@ -17,9 +17,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "18hgl4wz3rhaklkwaxl8gm70h7l8k225f86da682kafawrr8zhv4";
|
||||
};
|
||||
|
||||
buildInputs = with python27Packages; [
|
||||
(python27.withPackages(ps: [ cffi cryptography pyopenssl ]))
|
||||
];
|
||||
buildInputs = [python27 makeWrapper];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/
|
||||
|
@ -27,7 +25,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# create wrappers with correct env
|
||||
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
|
||||
'';
|
||||
|
||||
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||
version = version;
|
||||
homepage = "https://cloud.google.com/appengine/docs/go/";
|
||||
license = licenses.asl20;
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
platforms = ["x86_64-linux" "x86_64-darwin"];
|
||||
maintainers = with maintainers; [ lufia ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
{ stdenv, fetchurl, pkgs}:
|
||||
|
||||
with pkgs;
|
||||
{ stdenv, fetchurl, makeWrapper, bash, perl, diffstat, diffutils, patch, findutils }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "quilt-0.63";
|
||||
|
||||
name = "quilt-0.65";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://savannah/quilt/${name}.tar.gz";
|
||||
sha256 = "2846788221aa8844c54f10239c7cbc5e88031859162bcc285449446c3cfffe52";
|
||||
sha256 = "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper perl bash diffutils patch findutils diffstat ];
|
||||
|
@ -31,4 +30,5 @@ stdenv.mkDerivation rec {
|
|||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, libxml2, libxslt, makeWrapper, p7zip, xar, gzip, cpio }:
|
||||
|
||||
let
|
||||
version = "1.9.1";
|
||||
version = "1.9.5";
|
||||
rake = buildRubyGem {
|
||||
inherit ruby;
|
||||
gemName = "rake";
|
||||
|
@ -13,16 +13,16 @@ let
|
|||
url = if stdenv.isLinux
|
||||
then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb"
|
||||
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";
|
||||
|
||||
sha256 = {
|
||||
"x86_64-linux" = "0l1if9c4s4wkbi8k00pl7x00lil21izrd8wb9nv2b5q4gqidc1nh";
|
||||
"i686-linux" = "1789wjwcpgw3mljl49c8v5kycisay684gyalkkvd06928423y9zb";
|
||||
"x86_64-darwin" = "1xrfq1a0xyifkhhjnpm6wsnms9w8c9q5rd2qqn4sm5npl7viy68p";
|
||||
"x86_64-linux" = "16ijzaacfbqrgh561bf51747d2rv8kydgs14dfdr572qi0f88baw";
|
||||
"i686-linux" = "0lvkb4k0a34a8hzlsi0apf056rhyprh5w0gn16d0n2ijnaf9j2yk";
|
||||
"x86_64-darwin" = "070mrczsx1j0jl9sx6963l3hrk9anqa13r008wk1d22d25xj25mc";
|
||||
}."${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 {
|
||||
name = "vagrant-${version}";
|
||||
|
|
43
pkgs/development/tools/wiggle/default.nix
Normal file
43
pkgs/development/tools/wiggle/default.nix
Normal 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;
|
||||
};
|
||||
|
||||
}
|
|
@ -27,11 +27,16 @@ stdenv.mkDerivation rec {
|
|||
|
||||
sourceRoot = "Xonotic/source/darkplaces";
|
||||
|
||||
# "debug", "release", "profile"
|
||||
target = "release";
|
||||
|
||||
dontStrip = target != "release";
|
||||
|
||||
buildPhase = ''
|
||||
DP_FS_BASEDIR="$out/share/xonotic"
|
||||
make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
|
||||
make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
|
||||
make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
|
||||
make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-${target}
|
||||
make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-${target}
|
||||
make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-${target}
|
||||
'';
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -52,8 +57,16 @@ stdenv.mkDerivation rec {
|
|||
dontPatchELF = true;
|
||||
postFixup = ''
|
||||
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 --add-needed ${curl.out}/lib/libcurl.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-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 = {
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eventstat-${version}";
|
||||
version = "0.03.03";
|
||||
version = "0.03.04";
|
||||
src = fetchzip {
|
||||
url = "http://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz";
|
||||
sha256 = "02pg46f3x7v1c1vvqzfjqq0wjb2bzmfkd6a8xp06cg9zvidn6jpb";
|
||||
sha256 = "1sqf1mfafrw6402qx457gh8yxgsw80311qi0lp4cjl9dfz7vl2x1";
|
||||
};
|
||||
buildInputs = [ ncurses ];
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fnotifystat-${version}";
|
||||
version = "0.01.16";
|
||||
version = "0.01.17";
|
||||
src = fetchurl {
|
||||
url = "http://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz";
|
||||
sha256 = "1k9nc7a4r7c2l7vrlcrfxj9rsdb04amiqcsnxm5kpshncry38nl5";
|
||||
sha256 = "0ncfbrpyb3ak49nrdr4cb3w082n9s181lizfqx51zi9rdgkj1vm3";
|
||||
};
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
postInstall = ''
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "forkstat-${version}";
|
||||
version = "0.01.16";
|
||||
version = "0.01.17";
|
||||
src = fetchurl {
|
||||
url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz";
|
||||
sha256 = "0g65basrs569y42zhgjq9sdyz62km8xy55yfilmyxa43ckb3xmlw";
|
||||
sha256 = "0plm2409mmp6n2fjj6bb3z7af2cnh5lg3czlylhgaki9zd0cyb7w";
|
||||
};
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
postInstall = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ callPackage }:
|
||||
{ lib, callPackage, fetchurl, fetchpatch }:
|
||||
|
||||
let
|
||||
generic = args: callPackage (import ./generic.nix args) { };
|
||||
|
@ -28,16 +28,42 @@ in
|
|||
settingsSha256 = "0nm5c06b09p6wsxpyfaqrzsnal3p1047lk6p4p2a0vksb7id9598";
|
||||
persistencedSha256 = "1jwmggbph9zd8fj4syihldp2a5bxff7q1i2l9c55xz8cvk0rx08i";
|
||||
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 {
|
||||
version = "304.134";
|
||||
sha256_32bit = "178wx0a2pmdnaypa9pq6jh0ii0i8ykz1sh1liad9zfriy4d8kxw4";
|
||||
sha256_64bit = "0pydw7nr4d2dply38kwvjbghsbilbp2q0mas4nfq5ad050d2c550";
|
||||
settingsSha256 = "0q92xw4fr9p5nbhj1plynm50d32881861daxfwrisywszqijhmlf";
|
||||
version = "304.135";
|
||||
sha256_32bit = "14qdl39wird04sqba94dcb77i63igmxxav62ndr4qyyavn8s3c2w";
|
||||
sha256_64bit = "125mianhvq591np7y5jjrv9vmpbvixnkicr49ni48mcr0yjnjqkh";
|
||||
settingsSha256 = "1y7swikdngq4nlwzkrq20yfah9zr31n1a5i6nw37awnp8xjilhzm";
|
||||
persistencedSha256 = null;
|
||||
useGLVND = 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 { };
|
||||
|
|
|
@ -6,6 +6,9 @@
|
|||
, useGLVND ? true
|
||||
, useProfiles ? true
|
||||
, preferGtk2 ? false
|
||||
|
||||
, prePatch ? ""
|
||||
, patches ? []
|
||||
}:
|
||||
|
||||
{ stdenv, callPackage, callPackage_i686, fetchurl, fetchpatch
|
||||
|
@ -42,24 +45,8 @@ let
|
|||
}
|
||||
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 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;
|
||||
|
||||
patches = if libsOnly then null else patches;
|
||||
inherit prePatch;
|
||||
inherit version useGLVND useProfiles;
|
||||
inherit (stdenv) system;
|
||||
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "smemstat-${version}";
|
||||
version = "0.01.16";
|
||||
version = "0.01.17";
|
||||
src = fetchurl {
|
||||
url = "http://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.gz";
|
||||
sha256 = "14n3s6ibm9bq58drvpiasqn11ci6mrwswfpcbpbsimx6fh2j4bi3";
|
||||
sha256 = "093ifrz688cm0kmzz1c6himhbdr75ig1mcaapmqy8jadc1gaw2im";
|
||||
};
|
||||
buildInputs = [ ncurses ];
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
|
44
pkgs/servers/search/elasticsearch/5.x.nix
Normal file
44
pkgs/servers/search/elasticsearch/5.x.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
34
pkgs/servers/search/elasticsearch/es-classpath-5.x.patch
Normal file
34
pkgs/servers/search/elasticsearch/es-classpath-5.x.patch
Normal 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/*"
|
31
pkgs/servers/search/elasticsearch/es-home-5.x.patch
Normal file
31
pkgs/servers/search/elasticsearch/es-home-5.x.patch
Normal 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`
|
|
@ -2,40 +2,42 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "daemontools-0.76";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cr.yp.to/daemontools/${name}.tar.gz";
|
||||
sha256 = "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5";
|
||||
};
|
||||
|
||||
|
||||
patches = [ ./fix-nix-usernamespace-build.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
cd ${name}
|
||||
|
||||
|
||||
sed -ie '1 s_$_ -include ${glibc.dev}/include/errno.h_' src/conf-cc
|
||||
|
||||
|
||||
substituteInPlace src/Makefile \
|
||||
--replace '/bin/sh' '${bash}/bin/bash -oxtrace'
|
||||
|
||||
|
||||
sed -ie "s_^PATH=.*_PATH=$src/${name}/compile:''${PATH}_" src/rts.tests
|
||||
|
||||
|
||||
cat ${glibc.dev}/include/errno.h
|
||||
'';
|
||||
|
||||
|
||||
buildPhase = ''
|
||||
package/compile
|
||||
'';
|
||||
|
||||
|
||||
installPhase = ''
|
||||
for cmd in $(cat package/commands); do
|
||||
install -Dm755 "command/$cmd" "$out/bin/$cmd"
|
||||
done
|
||||
'';
|
||||
|
||||
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.publicDomain;
|
||||
homepage = https://cr.yp.to/daemontools.html;
|
||||
description = "A collection of tools for managing UNIX services.";
|
||||
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ kevincox ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
|
|
|
@ -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;
|
13
pkgs/tools/misc/patdiff/default.nix
Normal file
13
pkgs/tools/misc/patdiff/default.nix
Normal 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
Loading…
Reference in a new issue