Merge branch 'master' into staging-next
There's been some large rebuild on master. I don't really have time ATM to find what it was.
This commit is contained in:
commit
f504af072b
@ -103,8 +103,9 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
mention-bot usually notifies GitHub users based on the submitted changes,
|
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link>
|
||||||
but it can happen that it misses some of the package maintainers.
|
will make GitHub notify users based on the submitted changes, but it can
|
||||||
|
happen that it misses some of the package maintainers.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -376,8 +377,9 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Mention-bot notify GitHub users based on the submitted changes, but it
|
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link>
|
||||||
can happen that it miss some of the package maintainers.
|
will make GitHub notify users based on the submitted changes, but it can
|
||||||
|
happen that it misses some of the package maintainers.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -1689,6 +1689,11 @@
|
|||||||
github = "imalsogreg";
|
github = "imalsogreg";
|
||||||
name = "Greg Hale";
|
name = "Greg Hale";
|
||||||
};
|
};
|
||||||
|
imuli = {
|
||||||
|
email = "i@imu.li";
|
||||||
|
github = "imuli";
|
||||||
|
name = "Imuli";
|
||||||
|
};
|
||||||
infinisil = {
|
infinisil = {
|
||||||
email = "infinisil@icloud.com";
|
email = "infinisil@icloud.com";
|
||||||
github = "infinisil";
|
github = "infinisil";
|
||||||
@ -2094,6 +2099,11 @@
|
|||||||
github = "kuznero";
|
github = "kuznero";
|
||||||
name = "Roman Kuznetsov";
|
name = "Roman Kuznetsov";
|
||||||
};
|
};
|
||||||
|
kylewlacy = {
|
||||||
|
email = "kylelacy+nix@pm.me";
|
||||||
|
github = "kylewlacy";
|
||||||
|
name = "Kyle Lacy";
|
||||||
|
};
|
||||||
lasandell = {
|
lasandell = {
|
||||||
email = "lasandell@gmail.com";
|
email = "lasandell@gmail.com";
|
||||||
github = "lasandell";
|
github = "lasandell";
|
||||||
|
@ -73,6 +73,12 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull'
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
There is a new <varname>services.foundationdb</varname> module for deploying
|
||||||
|
<link xlink:href="https://www.foundationdb.org">FoundationDB</link> clusters.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
When enabled the <literal>iproute2</literal> will copy the files expected
|
When enabled the <literal>iproute2</literal> will copy the files expected
|
||||||
|
@ -536,6 +536,13 @@ if ($showHardwareConfig) {
|
|||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
EOF
|
||||||
|
} elsif (-e "/boot/extlinux") {
|
||||||
|
$bootLoaderConfig = <<EOF;
|
||||||
|
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
||||||
|
boot.loader.grub.enable = false;
|
||||||
|
# Enables the generation of /boot/extlinux/extlinux.conf
|
||||||
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
EOF
|
EOF
|
||||||
} elsif ($virt ne "systemd-nspawn") {
|
} elsif ($virt ne "systemd-nspawn") {
|
||||||
$bootLoaderConfig = <<EOF;
|
$bootLoaderConfig = <<EOF;
|
||||||
|
@ -9,7 +9,6 @@ with lib;
|
|||||||
(mkRenamedOptionModule [ "system" "nixos" "stateVersion" ] [ "system" "stateVersion" ])
|
(mkRenamedOptionModule [ "system" "nixos" "stateVersion" ] [ "system" "stateVersion" ])
|
||||||
(mkRenamedOptionModule [ "system" "nixos" "defaultChannel" ] [ "system" "defaultChannel" ])
|
(mkRenamedOptionModule [ "system" "nixos" "defaultChannel" ] [ "system" "defaultChannel" ])
|
||||||
|
|
||||||
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
|
|
||||||
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
|
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
|
||||||
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
|
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
|
||||||
(mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])
|
(mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])
|
||||||
|
@ -12,12 +12,10 @@
|
|||||||
|
|
||||||
<para><emphasis>Maintainer:</emphasis> Austin Seipp</para>
|
<para><emphasis>Maintainer:</emphasis> Austin Seipp</para>
|
||||||
|
|
||||||
<para><emphasis>Available version(s):</emphasis> 5.1.x</para>
|
<para><emphasis>Available version(s):</emphasis> 5.1.x, 5.2.x, 6.0.x</para>
|
||||||
|
|
||||||
<para>FoundationDB (or "FDB") is a distributed, open source, high performance,
|
<para>FoundationDB (or "FDB") is an open source, distributed, transactional
|
||||||
transactional key-value store. It can store petabytes of data and deliver
|
key-value store.</para>
|
||||||
exceptional performance while maintaining consistency and ACID semantics
|
|
||||||
(serializable transactions) over a large cluster.</para>
|
|
||||||
|
|
||||||
<section><title>Configuring and basic setup</title>
|
<section><title>Configuring and basic setup</title>
|
||||||
|
|
||||||
@ -26,12 +24,12 @@ exceptional performance while maintaining consistency and ACID semantics
|
|||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
services.foundationdb.enable = true;
|
services.foundationdb.enable = true;
|
||||||
services.foundationdb.package = pkgs.foundationdb51; # FoundationDB 5.1.x
|
services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>The <option>services.foundationdb.package</option> option is required,
|
<para>The <option>services.foundationdb.package</option> option is required,
|
||||||
and must always be specified. Because FoundationDB network protocols and
|
and must always be specified. Due to the fact FoundationDB network protocols and
|
||||||
on-disk storage formats may change between (major) versions, and upgrades must
|
on-disk storage formats may change between (major) versions, and upgrades must
|
||||||
be explicitly handled by the user, you must always manually specify this
|
be explicitly handled by the user, you must always manually specify this
|
||||||
yourself so that the NixOS module will use the proper version. Note that minor,
|
yourself so that the NixOS module will use the proper version. Note that minor,
|
||||||
@ -70,6 +68,40 @@ fdb>
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>You can also write programs using the available client libraries.
|
||||||
|
For example, the following Python program can be run in order to grab the
|
||||||
|
cluster status, as a quick example. (This example uses
|
||||||
|
<command>nix-shell</command> shebang support to automatically supply the
|
||||||
|
necessary Python modules).
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
a@link> cat fdb-status.py
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i python -p python pythonPackages.foundationdb52
|
||||||
|
|
||||||
|
import fdb
|
||||||
|
import json
|
||||||
|
|
||||||
|
def main():
|
||||||
|
fdb.api_version(520)
|
||||||
|
db = fdb.open()
|
||||||
|
|
||||||
|
@fdb.transactional
|
||||||
|
def get_status(tr):
|
||||||
|
return str(tr['\xff\xff/status/json'])
|
||||||
|
|
||||||
|
obj = json.loads(get_status(db))
|
||||||
|
print('FoundationDB available: %s' % obj['client']['database_status']['available'])
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
a@link> chmod +x fdb-status.py
|
||||||
|
a@link> ./fdb-status.py
|
||||||
|
FoundationDB available: True
|
||||||
|
a@link>
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>FoundationDB is run under the <command>foundationdb</command> user and
|
<para>FoundationDB is run under the <command>foundationdb</command> user and
|
||||||
group by default, but this may be changed in the NixOS configuration. The
|
group by default, but this may be changed in the NixOS configuration. The
|
||||||
systemd unit <command>foundationdb.service</command> controls the
|
systemd unit <command>foundationdb.service</command> controls the
|
||||||
@ -295,7 +327,6 @@ only undergone fairly basic testing of all the available functionality.</para>
|
|||||||
individual <command>fdbserver</command> processes. Currently, all server
|
individual <command>fdbserver</command> processes. Currently, all server
|
||||||
processes inherit all the global <command>fdbmonitor</command> settings.
|
processes inherit all the global <command>fdbmonitor</command> settings.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>Python bindings are not currently installed.</para></listitem>
|
|
||||||
<listitem><para>Ruby bindings are not currently installed.</para></listitem>
|
<listitem><para>Ruby bindings are not currently installed.</para></listitem>
|
||||||
<listitem><para>Go bindings are not currently installed.</para></listitem>
|
<listitem><para>Go bindings are not currently installed.</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -306,8 +337,9 @@ only undergone fairly basic testing of all the available functionality.</para>
|
|||||||
|
|
||||||
<para>NixOS's FoundationDB module allows you to configure all of the most
|
<para>NixOS's FoundationDB module allows you to configure all of the most
|
||||||
relevant configuration options for <command>fdbmonitor</command>, matching it
|
relevant configuration options for <command>fdbmonitor</command>, matching it
|
||||||
quite closely. For a complete list of all options, check <command>man
|
quite closely. A complete list of options for the FoundationDB module may be
|
||||||
configuration.nix</command>.</para>
|
found <link linkend="opt-services.foundationdb.enable">here</link>. You should
|
||||||
|
also read the FoundationDB documentation as well.</para>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ in
|
|||||||
###### implementation
|
###### implementation
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.dysnomia.enable = true;
|
dysnomia.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.dysnomia;
|
cfg = config.dysnomia;
|
||||||
|
|
||||||
printProperties = properties:
|
printProperties = properties:
|
||||||
concatMapStrings (propertyName:
|
concatMapStrings (propertyName:
|
||||||
@ -69,7 +69,7 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
services.dysnomia = {
|
dysnomia = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -142,7 +142,7 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
services.dysnomia.package = pkgs.dysnomia.override (origArgs: {
|
dysnomia.package = pkgs.dysnomia.override (origArgs: {
|
||||||
enableApacheWebApplication = config.services.httpd.enable;
|
enableApacheWebApplication = config.services.httpd.enable;
|
||||||
enableAxis2WebService = config.services.tomcat.axis2.enable;
|
enableAxis2WebService = config.services.tomcat.axis2.enable;
|
||||||
enableEjabberdDump = config.services.ejabberd.enable;
|
enableEjabberdDump = config.services.ejabberd.enable;
|
||||||
@ -153,7 +153,7 @@ in
|
|||||||
enableMongoDatabase = config.services.mongodb.enable;
|
enableMongoDatabase = config.services.mongodb.enable;
|
||||||
});
|
});
|
||||||
|
|
||||||
services.dysnomia.properties = {
|
dysnomia.properties = {
|
||||||
hostname = config.networking.hostName;
|
hostname = config.networking.hostName;
|
||||||
inherit (config.nixpkgs.localSystem) system;
|
inherit (config.nixpkgs.localSystem) system;
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ in
|
|||||||
}}");
|
}}");
|
||||||
};
|
};
|
||||||
|
|
||||||
services.dysnomia.containers = lib.recursiveUpdate ({
|
dysnomia.containers = lib.recursiveUpdate ({
|
||||||
process = {};
|
process = {};
|
||||||
wrapper = {};
|
wrapper = {};
|
||||||
}
|
}
|
||||||
|
@ -57,12 +57,6 @@ let
|
|||||||
--nodaemon --syslog --prefix=${name} --pidfile /run/${name}/${name}.pid ${name}
|
--nodaemon --syslog --prefix=${name} --pidfile /run/${name}/${name}.pid ${name}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
mkPidFileDir = name: ''
|
|
||||||
mkdir -p /run/${name}
|
|
||||||
chmod 0700 /run/${name}
|
|
||||||
chown -R graphite:graphite /run/${name}
|
|
||||||
'';
|
|
||||||
|
|
||||||
carbonEnv = {
|
carbonEnv = {
|
||||||
PYTHONPATH = let
|
PYTHONPATH = let
|
||||||
cenv = pkgs.python.buildEnv.override {
|
cenv = pkgs.python.buildEnv.override {
|
||||||
@ -412,18 +406,16 @@ in {
|
|||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
environment = carbonEnv;
|
environment = carbonEnv;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
RuntimeDirectory = name;
|
||||||
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
||||||
User = "graphite";
|
User = "graphite";
|
||||||
Group = "graphite";
|
Group = "graphite";
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
PIDFile="/run/${name}/${name}.pid";
|
PIDFile="/run/${name}/${name}.pid";
|
||||||
};
|
};
|
||||||
preStart = mkPidFileDir name + ''
|
preStart = ''
|
||||||
|
install -dm0700 -o graphite -g graphite ${cfg.dataDir}
|
||||||
mkdir -p ${cfg.dataDir}/whisper
|
install -dm0700 -o graphite -g graphite ${cfg.dataDir}/whisper
|
||||||
chmod 0700 ${cfg.dataDir}/whisper
|
|
||||||
chown graphite:graphite ${cfg.dataDir}
|
|
||||||
chown graphite:graphite ${cfg.dataDir}/whisper
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
@ -436,12 +428,12 @@ in {
|
|||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
environment = carbonEnv;
|
environment = carbonEnv;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
RuntimeDirectory = name;
|
||||||
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
||||||
User = "graphite";
|
User = "graphite";
|
||||||
Group = "graphite";
|
Group = "graphite";
|
||||||
PIDFile="/run/${name}/${name}.pid";
|
PIDFile="/run/${name}/${name}.pid";
|
||||||
};
|
};
|
||||||
preStart = mkPidFileDir name;
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -452,12 +444,12 @@ in {
|
|||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
environment = carbonEnv;
|
environment = carbonEnv;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
RuntimeDirectory = name;
|
||||||
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
||||||
User = "graphite";
|
User = "graphite";
|
||||||
Group = "graphite";
|
Group = "graphite";
|
||||||
PIDFile="/run/${name}/${name}.pid";
|
PIDFile="/run/${name}/${name}.pid";
|
||||||
};
|
};
|
||||||
preStart = mkPidFileDir name;
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -14,6 +14,10 @@ let
|
|||||||
global = {
|
global = {
|
||||||
"plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
|
"plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
|
||||||
};
|
};
|
||||||
|
web = {
|
||||||
|
"web files owner" = "root";
|
||||||
|
"web files group" = "root";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
mkConfig = generators.toINI {} (recursiveUpdate localConfig cfg.config);
|
mkConfig = generators.toINI {} (recursiveUpdate localConfig cfg.config);
|
||||||
configFile = pkgs.writeText "netdata.conf" (if cfg.configText != null then cfg.configText else mkConfig);
|
configFile = pkgs.writeText "netdata.conf" (if cfg.configText != null then cfg.configText else mkConfig);
|
||||||
|
@ -23,7 +23,7 @@ let
|
|||||||
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
|
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
|
||||||
$out/greeter \
|
$out/greeter \
|
||||||
--prefix PATH : "${pkgs.glibc.bin}/bin" \
|
--prefix PATH : "${pkgs.glibc.bin}/bin" \
|
||||||
--set GDK_PIXBUF_MODULE_FILE "${pkgs.gdk_pixbuf.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
|
--set GDK_PIXBUF_MODULE_FILE "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
|
||||||
--set GTK_PATH "${theme}:${pkgs.gtk3.out}" \
|
--set GTK_PATH "${theme}:${pkgs.gtk3.out}" \
|
||||||
--set GTK_EXE_PREFIX "${theme}" \
|
--set GTK_EXE_PREFIX "${theme}" \
|
||||||
--set GTK_DATA_PREFIX "${theme}" \
|
--set GTK_DATA_PREFIX "${theme}" \
|
||||||
|
@ -43,6 +43,7 @@ def write_loader_conf(profile, generation):
|
|||||||
f.write("default nixos-generation-%d\n" % (generation))
|
f.write("default nixos-generation-%d\n" % (generation))
|
||||||
if not @editor@:
|
if not @editor@:
|
||||||
f.write("editor 0");
|
f.write("editor 0");
|
||||||
|
f.write("console-mode @consoleMode@\n");
|
||||||
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
|
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
|
||||||
|
|
||||||
def profile_path(profile, generation, name):
|
def profile_path(profile, generation, name):
|
||||||
|
@ -22,6 +22,8 @@ let
|
|||||||
|
|
||||||
editor = if cfg.editor then "True" else "False";
|
editor = if cfg.editor then "True" else "False";
|
||||||
|
|
||||||
|
inherit (cfg) consoleMode;
|
||||||
|
|
||||||
inherit (efi) efiSysMountPoint canTouchEfiVariables;
|
inherit (efi) efiSysMountPoint canTouchEfiVariables;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
@ -52,6 +54,38 @@ in {
|
|||||||
compatibility.
|
compatibility.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
consoleMode = mkOption {
|
||||||
|
default = "keep";
|
||||||
|
|
||||||
|
type = types.enum [ "0" "1" "2" "auto" "max" "keep" ];
|
||||||
|
|
||||||
|
description = ''
|
||||||
|
The resolution of the console. The following values are valid:
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>"0"</literal>: Standard UEFI 80x25 mode
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>"1"</literal>: 80x50 mode, not supported by all devices
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>"2"</literal>: The first non-standard mode provided by the device firmware, if any
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>"auto"</literal>: Pick a suitable mode automatically using heuristics
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>"max"</literal>: Pick the highest-numbered available mode
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>"keep"</literal>: Keep the mode selected by firmware (the default)
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -55,6 +55,15 @@ with lib;
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
device = mkOption {
|
||||||
|
default = "TPPS/2 IBM TrackPoint";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
The device name of the trackpoint. You can check with xinput.
|
||||||
|
Some newer devices (example x1c6) use "TPPS/2 Elan TrackPoint".
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -68,12 +77,12 @@ with lib;
|
|||||||
(mkIf cfg.enable {
|
(mkIf cfg.enable {
|
||||||
services.udev.extraRules =
|
services.udev.extraRules =
|
||||||
''
|
''
|
||||||
ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString cfg.speed}", ATTR{device/sensitivity}="${toString cfg.sensitivity}"
|
ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="${cfg.device}", ATTR{device/speed}="${toString cfg.speed}", ATTR{device/sensitivity}="${toString cfg.sensitivity}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
system.activationScripts.trackpoint =
|
system.activationScripts.trackpoint =
|
||||||
''
|
''
|
||||||
${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint"
|
${config.systemd.package}/bin/udevadm trigger --attr-match=name="${cfg.device}"
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -81,7 +90,7 @@ with lib;
|
|||||||
services.xserver.inputClassSections =
|
services.xserver.inputClassSections =
|
||||||
[''
|
[''
|
||||||
Identifier "Trackpoint Wheel Emulation"
|
Identifier "Trackpoint Wheel Emulation"
|
||||||
MatchProduct "${if cfg.fakeButtons then "PS/2 Generic Mouse" else "ETPS/2 Elantech TrackPoint|Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"}"
|
MatchProduct "${if cfg.fakeButtons then "PS/2 Generic Mouse" else "ETPS/2 Elantech TrackPoint|Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint|${cfg.device}"}"
|
||||||
MatchDevicePath "/dev/input/event*"
|
MatchDevicePath "/dev/input/event*"
|
||||||
Option "EmulateWheel" "true"
|
Option "EmulateWheel" "true"
|
||||||
Option "EmulateWheelButton" "2"
|
Option "EmulateWheelButton" "2"
|
||||||
|
@ -12,7 +12,9 @@ let
|
|||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
pythonPackages = (super.python.override {
|
# Override certifi so that it accepts fake certificate for Let's Encrypt
|
||||||
|
# Need to override the attribute used by simp_le, which is python3Packages
|
||||||
|
python3Packages = (super.python3.override {
|
||||||
packageOverrides = lib.const (pysuper: {
|
packageOverrides = lib.const (pysuper: {
|
||||||
certifi = pysuper.certifi.overridePythonAttrs (attrs: {
|
certifi = pysuper.certifi.overridePythonAttrs (attrs: {
|
||||||
postPatch = (attrs.postPatch or "") + ''
|
postPatch = (attrs.postPatch or "") + ''
|
||||||
|
@ -19,6 +19,10 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
startAll;
|
startAll;
|
||||||
|
|
||||||
$netdata->waitForUnit("netdata.service");
|
$netdata->waitForUnit("netdata.service");
|
||||||
|
|
||||||
|
# check if the netdata main page loads.
|
||||||
|
$netdata->succeed("curl --fail http://localhost:19999/");
|
||||||
|
|
||||||
# check if netdata can read disk ops for root owned processes.
|
# check if netdata can read disk ops for root owned processes.
|
||||||
# if > 0, successful. verifies both netdata working and
|
# if > 0, successful. verifies both netdata working and
|
||||||
# apps.plugin has elevated capabilities.
|
# apps.plugin has elevated capabilities.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python }:
|
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ams-lv2-${version}";
|
name = "ams-lv2-${version}";
|
||||||
@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk python ];
|
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
|
||||||
|
|
||||||
configurePhase = "python waf configure --prefix=$out";
|
configurePhase = "${python3.interpreter} waf configure --prefix=$out";
|
||||||
|
|
||||||
buildPhase = "python waf";
|
buildPhase = "${python3.interpreter} waf";
|
||||||
|
|
||||||
installPhase = "python waf install";
|
installPhase = "${python3.interpreter} waf install";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "An LV2 port of the internal modules found in Alsa Modular Synth";
|
description = "An LV2 port of the internal modules found in Alsa Modular Synth";
|
||||||
|
65
pkgs/applications/audio/cadence/default.nix
Normal file
65
pkgs/applications/audio/cadence/default.nix
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchurl
|
||||||
|
, pkgconfig
|
||||||
|
, qtbase
|
||||||
|
, makeWrapper
|
||||||
|
, jack2Full
|
||||||
|
, python3Packages
|
||||||
|
, a2jmidid
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "0.9.0";
|
||||||
|
name = "cadence";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz";
|
||||||
|
sha256 = "07z1mnb0bmldb3i31bgw816pnvlvr9gawr51rpx3mhixg5wpiqzb";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
pkgconfig
|
||||||
|
qtbase
|
||||||
|
];
|
||||||
|
|
||||||
|
apps = [
|
||||||
|
"cadence"
|
||||||
|
"cadence-jacksettings"
|
||||||
|
"cadence-pulse2loopback"
|
||||||
|
"claudia"
|
||||||
|
"cadence-aloop-daemon"
|
||||||
|
"cadence-logs"
|
||||||
|
"cadence-render"
|
||||||
|
"catarina"
|
||||||
|
"claudia-launcher"
|
||||||
|
"cadence-pulse2jack"
|
||||||
|
"cadence-session-start"
|
||||||
|
"catia"
|
||||||
|
];
|
||||||
|
|
||||||
|
makeFlags = ''
|
||||||
|
PREFIX=""
|
||||||
|
DESTDIR=$(out)
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [ pyqt5 ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# replace with our own wrappers.
|
||||||
|
for app in $apps; do
|
||||||
|
rm $out/bin/$app
|
||||||
|
makeWrapper ${python3Packages.python.interpreter} $out/bin/$app \
|
||||||
|
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
|
||||||
|
--add-flags "-O $out/share/cadence/src/$app.py"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = https://github.com/falkTX/Cadence/;
|
||||||
|
description = "Collection of tools useful for audio production";
|
||||||
|
license = stdenv.lib.licenses.mit;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ genesis ];
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -1,13 +1,18 @@
|
|||||||
{ fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype
|
{ fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
|
||||||
, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng
|
, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng
|
||||||
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }:
|
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Please update the stable branch!
|
# "rev" decides what is actually being downloaded
|
||||||
# Latest version number can be found at:
|
version = "1.0.80.474.gef6b503e-7";
|
||||||
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
|
# To get the latest stable revision:
|
||||||
# Be careful not to pick the testing version.
|
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
|
||||||
version = "1.0.80.480.g51b03ac3-13";
|
# To get general information:
|
||||||
|
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
|
||||||
|
# More exapmles of api usage:
|
||||||
|
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
|
||||||
|
rev = "16";
|
||||||
|
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
alsaLib
|
alsaLib
|
||||||
@ -49,12 +54,20 @@ in
|
|||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "spotify-${version}";
|
name = "spotify-${version}";
|
||||||
|
|
||||||
|
# fetch from snapcraft instead of the debian repository most repos fetch from.
|
||||||
|
# That is a bit more cumbersome. But the debian repository only keeps the last
|
||||||
|
# two versions, while snapcraft should provide versions indefinately:
|
||||||
|
# https://forum.snapcraft.io/t/how-can-a-developer-remove-her-his-app-from-snap-store/512
|
||||||
|
|
||||||
|
# This is the next-best thing, since we're not allowed to re-distribute
|
||||||
|
# spotify ourselves:
|
||||||
|
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
|
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
|
||||||
sha256 = "e32f4816ae79dbfa0c14086e76df3bc83d526402aac1dbba534127fc00fe50ea";
|
sha512 = "45b7ab574b30fb368e0b6f4dd60addbfd1ddc02173b4f98b31c524eed49073432352a361e75959ce8e2f752231e93c79ca1b538c4bd295c935d1e2e0585d147f";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ dpkg makeWrapper ];
|
buildInputs = [ squashfsTools makeWrapper ];
|
||||||
|
|
||||||
doConfigure = false;
|
doConfigure = false;
|
||||||
doBuild = false;
|
doBuild = false;
|
||||||
@ -63,7 +76,23 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
runHook preUnpack
|
runHook preUnpack
|
||||||
dpkg-deb -x $src .
|
unsquashfs "$src" '/usr/share/spotify' '/usr/bin/spotify' '/meta/snap.yaml'
|
||||||
|
cd squashfs-root
|
||||||
|
if ! grep -q 'grade: stable' meta/snap.yaml; then
|
||||||
|
# Unfortunately this check is not reliable: At the moment (2018-07-26) the
|
||||||
|
# latest version in the "edge" channel is also marked as stable.
|
||||||
|
echo "The snap package is marked as unstable:"
|
||||||
|
grep 'grade: ' meta/snap.yaml
|
||||||
|
echo "You probably chose the wrong revision."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! grep -q '${version}' meta/snap.yaml; then
|
||||||
|
echo "Package version differs from version found in snap metadata:"
|
||||||
|
grep 'version: ' meta/snap.yaml
|
||||||
|
echo "While the nix package specifies: ${version}."
|
||||||
|
echo "You probably chose the wrong revision or forgot to update the nix version."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
runHook postUnpack
|
runHook postUnpack
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -75,6 +104,8 @@ stdenv.mkDerivation {
|
|||||||
mkdir -p $libdir
|
mkdir -p $libdir
|
||||||
mv ./usr/* $out/
|
mv ./usr/* $out/
|
||||||
|
|
||||||
|
cp meta/snap.yaml $out
|
||||||
|
|
||||||
# Work around Spotify referring to a specific minor version of
|
# Work around Spotify referring to a specific minor version of
|
||||||
# OpenSSL.
|
# OpenSSL.
|
||||||
|
|
||||||
|
49
pkgs/applications/audio/spotify/update.sh
Normal file
49
pkgs/applications/audio/spotify/update.sh
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
channel="stable" # stable/candidate/edge
|
||||||
|
nixpkgs="$(git rev-parse --show-toplevel)"
|
||||||
|
spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# create bash array from snap info
|
||||||
|
snap_info=($(
|
||||||
|
curl -H 'X-Ubuntu-Series: 16' \
|
||||||
|
"https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=$channel" \
|
||||||
|
| jq --raw-output \
|
||||||
|
'.revision,.download_sha512,.version,.last_updated'
|
||||||
|
))
|
||||||
|
|
||||||
|
revision="${snap_info[0]}"
|
||||||
|
sha512="${snap_info[1]}"
|
||||||
|
version="${snap_info[2]}"
|
||||||
|
last_updated="${snap_info[3]}"
|
||||||
|
|
||||||
|
# find the last commited version
|
||||||
|
version_pre=$(
|
||||||
|
git grep 'version\s*=' HEAD "$spotify_nix" \
|
||||||
|
| sed -Ene 's/.*"(.*)".*/\1/p'
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ "$version_pre" = "$version" ]]; then
|
||||||
|
echo "Spotify is already up ot date"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Updating from ${version_pre} to ${version}, released on ${last_updated}"
|
||||||
|
|
||||||
|
# search-andreplace revision, hash and version
|
||||||
|
sed --regexp-extended \
|
||||||
|
-e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \
|
||||||
|
-e 's/sha512\s*=\s*".{128}"\s*;/sha512 = "'"${sha512}"'";/' \
|
||||||
|
-e 's/version\s*=\s*".*"\s*;/version = "'"${version}"'";/' \
|
||||||
|
-i "$spotify_nix"
|
||||||
|
|
||||||
|
if ! nix-build -A spotify "$nixpkgs"; then
|
||||||
|
echo "The updated spotify failed to build."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
git add "$spotify_nix"
|
||||||
|
# show diff for review
|
||||||
|
git diff HEAD
|
||||||
|
# prepare commit message, but allow edit
|
||||||
|
git commit --edit --message "spotify: $version_pre -> $version"
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, pkgs, fetchurl, makeWrapper, gvfs, atomEnv}:
|
{ stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }:
|
||||||
|
|
||||||
let
|
let
|
||||||
common = pname: {version, sha256, beta ? null}:
|
common = pname: {version, sha256, beta ? null}:
|
||||||
@ -14,7 +14,19 @@ let
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [
|
||||||
|
wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed
|
||||||
|
];
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
gappsWrapperArgs+=(
|
||||||
|
--prefix "PATH" : "${gvfs}/bin" \
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
mkdir -p $out/usr/
|
mkdir -p $out/usr/
|
||||||
@ -25,9 +37,6 @@ let
|
|||||||
rm -r $out/share/lintian
|
rm -r $out/share/lintian
|
||||||
rm -r $out/usr/
|
rm -r $out/usr/
|
||||||
sed -i "s/${pname})/.${pname}-wrapped)/" $out/bin/${pname}
|
sed -i "s/${pname})/.${pname}-wrapped)/" $out/bin/${pname}
|
||||||
# sed -i "s/'${pname}'/'.${pname}-wrapped'/" $out/bin/${pname}
|
|
||||||
wrapProgram $out/bin/${pname} \
|
|
||||||
--prefix "PATH" : "${gvfs}/bin"
|
|
||||||
|
|
||||||
fixupPhase
|
fixupPhase
|
||||||
|
|
||||||
|
@ -12,14 +12,14 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.0";
|
version = "1.1";
|
||||||
name = "renderdoc-${version}";
|
name = "renderdoc-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "baldurk";
|
owner = "baldurk";
|
||||||
repo = "renderdoc";
|
repo = "renderdoc";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0l7pjxfrly4llryjnwk42dzx65n78wc98h56qm4yh04ja8fdbx2y";
|
sha256 = "0kb9m1dm0mnglqyh1srvl0f1bgjghxzbqarn0xfqw49wphqwhmcd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
{ stdenv, fetchFromGitHub, pythonPackages }:
|
{ stdenv, fetchFromGitHub, python3Packages }:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
name = "antfs-cli-unstable-2017-02-11";
|
pname = "antfs-cli";
|
||||||
|
version = "unstable-2017-02-11";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/Tigge/antfs-cli;
|
homepage = https://github.com/Tigge/antfs-cli;
|
||||||
@ -17,5 +18,5 @@ pythonPackages.buildPythonApplication rec {
|
|||||||
sha256 = "0v8y64kldfbs809j1g9d75dd1vxq7mfxnp4b45pz8anpxhjf64fy";
|
sha256 = "0v8y64kldfbs809j1g9d75dd1vxq7mfxnp4b45pz8anpxhjf64fy";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ pythonPackages.openant ];
|
propagatedBuildInputs = [ python3Packages.openant ];
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{ stdenv, fetchFromGitHub, rustPlatform, cmake, CoreServices, cf-private }:
|
{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
name = "gutenberg-${version}";
|
name = "gutenberg-${version}";
|
||||||
version = "0.3.4";
|
version = "0.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Keats";
|
owner = "Keats";
|
||||||
repo = "gutenberg";
|
repo = "gutenberg";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1v26q1m3bx7mdmmwgd6p601ncf13rr4rrx9s06fiy8vnd0ar1vlf";
|
sha256 = "1i2jcyq6afswxyjifhl5irv84licsad7c83yiy17454mplvrmyg2";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "0cdy0wvibkpnmlqwxvn02a2k2vqy6zdqzflj2dh6g1cjbz1j8qh5";
|
cargoSha256 = "0hzxwvb5m8mvpfxys4ikkaag6khflh5bfglmay11wf6ayighv834";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake pkgconfig openssl ];
|
||||||
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
|
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }:
|
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
version = "2018-02-23";
|
version = "18.05";
|
||||||
name = "rtl_433-${version}";
|
name = "rtl_433-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "merbanan";
|
owner = "merbanan";
|
||||||
repo = "rtl_433";
|
repo = "rtl_433";
|
||||||
rev = "51d275c";
|
rev = "18.05";
|
||||||
sha256 = "1j443wmws5xgc18s47bvw3pqljk747izypz52rmlrvs16v96cg2g";
|
sha256 = "0vfhnjyrx6w1m8g1hww5vdz4zgdlhcaps9g0397mxlki4sm77wpc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -9,15 +9,17 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.9.0";
|
version = "3.10.0";
|
||||||
ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
|
ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
|
||||||
versionMajor = ver 0;
|
versionMajor = ver 0;
|
||||||
versionMinor = ver 1;
|
versionMinor = ver 1;
|
||||||
versionPatch = ver 2;
|
versionPatch = ver 2;
|
||||||
gitCommit = "191fece";
|
gitCommit = "dd10d17";
|
||||||
# version is in vendor/k8s.io/kubernetes/pkg/version/base.go
|
# version is in vendor/k8s.io/kubernetes/pkg/version/base.go
|
||||||
k8sversion = "v1.9.1";
|
k8sversion = "v1.10.0";
|
||||||
k8sgitcommit = "a0ce1bc657";
|
k8sgitcommit = "b81c8f8";
|
||||||
|
k8sgitMajor = "0";
|
||||||
|
k8sgitMinor = "1";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "openshift-origin-${version}";
|
name = "openshift-origin-${version}";
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -26,7 +28,7 @@ in stdenv.mkDerivation rec {
|
|||||||
owner = "openshift";
|
owner = "openshift";
|
||||||
repo = "origin";
|
repo = "origin";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "06k0zilfyvll7z34yirraslgpwgah9k6y5i6wgi7f00a79k76k78";
|
sha256 = "13aglz005jl48z17vnggkvr39l5h6jcqgkfyvkaz4c3jakms1hi9";
|
||||||
};
|
};
|
||||||
|
|
||||||
# go > 1.10
|
# go > 1.10
|
||||||
@ -38,15 +40,15 @@ in stdenv.mkDerivation rec {
|
|||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
patchShebangs ./hack
|
patchShebangs ./hack
|
||||||
|
|
||||||
substituteInPlace pkg/oc/bootstrap/docker/host/host.go \
|
substituteInPlace pkg/oc/clusterup/docker/host/host.go \
|
||||||
--replace 'nsenter --mount=/rootfs/proc/1/ns/mnt findmnt' \
|
--replace 'nsenter --mount=/rootfs/proc/1/ns/mnt findmnt' \
|
||||||
'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/findmnt'
|
'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/findmnt'
|
||||||
|
|
||||||
substituteInPlace pkg/oc/bootstrap/docker/host/host.go \
|
substituteInPlace pkg/oc/clusterup/docker/host/host.go \
|
||||||
--replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mount' \
|
--replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mount' \
|
||||||
'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
|
'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
|
||||||
|
|
||||||
substituteInPlace pkg/oc/bootstrap/docker/host/host.go \
|
substituteInPlace pkg/oc/clusterup/docker/host/host.go \
|
||||||
--replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mkdir' \
|
--replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mkdir' \
|
||||||
'nsenter --mount=/rootfs/proc/1/ns/mnt ${coreutils}/bin/mkdir'
|
'nsenter --mount=/rootfs/proc/1/ns/mnt ${coreutils}/bin/mkdir'
|
||||||
'';
|
'';
|
||||||
@ -61,6 +63,8 @@ in stdenv.mkDerivation rec {
|
|||||||
echo "OS_GIT_COMMIT=${gitCommit}" >> os-version-defs
|
echo "OS_GIT_COMMIT=${gitCommit}" >> os-version-defs
|
||||||
echo "KUBE_GIT_VERSION=${k8sversion}" >> os-version-defs
|
echo "KUBE_GIT_VERSION=${k8sversion}" >> os-version-defs
|
||||||
echo "KUBE_GIT_COMMIT=${k8sgitcommit}" >> os-version-defs
|
echo "KUBE_GIT_COMMIT=${k8sgitcommit}" >> os-version-defs
|
||||||
|
echo "KUBE_GIT_MAJOR=${k8sgitMajor}" >> os-version-defs
|
||||||
|
echo "KUBE_GIT_MINOR=${k8sgitMinor}" >> os-version-defs
|
||||||
export OS_VERSION_FILE="os-version-defs"
|
export OS_VERSION_FILE="os-version-defs"
|
||||||
export CC=clang
|
export CC=clang
|
||||||
make all WHAT='${concatStringsSep " " components}'
|
make all WHAT='${concatStringsSep " " components}'
|
||||||
|
@ -3,9 +3,24 @@
|
|||||||
, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
|
, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
|
||||||
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
|
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
|
||||||
, cups, expat, udev
|
, cups, expat, udev
|
||||||
|
# Unfortunately this also overwrites the UI language (not just the spell
|
||||||
|
# checking language!):
|
||||||
|
, hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
|
||||||
|
# For a full list of available languages:
|
||||||
|
# $ cat pkgs/development/libraries/hunspell/dictionaries.nix | grep "dictFileName =" | awk '{ print $3 }'
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
customLanguageWrapperArgs = (with lib;
|
||||||
|
let
|
||||||
|
# E.g. "de_DE" -> "de-de" (spellcheckerLanguage -> hunspellDict)
|
||||||
|
spellLangComponents = splitString "_" spellcheckerLanguage;
|
||||||
|
hunspellDict = elemAt spellLangComponents 0 + "-" + toLower (elemAt spellLangComponents 1);
|
||||||
|
in if spellcheckerLanguage != null
|
||||||
|
then ''
|
||||||
|
--set HUNSPELL_DICTIONARIES "${hunspellDicts.${hunspellDict}}/share/hunspell" \
|
||||||
|
--set LC_MESSAGES "${spellcheckerLanguage}"''
|
||||||
|
else "");
|
||||||
rpath = lib.makeLibraryPath [
|
rpath = lib.makeLibraryPath [
|
||||||
alsaLib
|
alsaLib
|
||||||
atk
|
atk
|
||||||
@ -68,6 +83,7 @@ in stdenv.mkDerivation rec {
|
|||||||
--set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
|
--set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
|
||||||
wrapProgram $out/libexec/signal-desktop \
|
wrapProgram $out/libexec/signal-desktop \
|
||||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||||
|
${customLanguageWrapperArgs} \
|
||||||
"''${gappsWrapperArgs[@]}"
|
"''${gappsWrapperArgs[@]}"
|
||||||
|
|
||||||
# Symlink to bin
|
# Symlink to bin
|
||||||
|
@ -14,7 +14,7 @@ in {
|
|||||||
stable = mkTelegram stableVersion;
|
stable = mkTelegram stableVersion;
|
||||||
preview = mkTelegram (stableVersion // {
|
preview = mkTelegram (stableVersion // {
|
||||||
stable = false;
|
stable = false;
|
||||||
version = "1.3.11";
|
version = "1.3.12";
|
||||||
sha256Hash = "057b7ccba7k2slzbp9xzcs3fni40x7gz3wy13xfgxywr12f04h1r";
|
sha256Hash = "00z4ljs4fvbk7sf8wv1v50kln26gv8q12x6q41ai9gfzkvq5f69a";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -2,27 +2,35 @@
|
|||||||
, fetchurl
|
, fetchurl
|
||||||
, dbus
|
, dbus
|
||||||
, zlib, fontconfig
|
, zlib, fontconfig
|
||||||
|
, qtbase, qtmultimedia
|
||||||
|
, libjson, libgpgerror
|
||||||
, libX11, libxcb, libXau, libXdmcp, freetype, libbsd
|
, libX11, libxcb, libXau, libXdmcp, freetype, libbsd
|
||||||
|
, pythonPackages, squashfsTools, makeDesktopItem
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
let
|
let
|
||||||
libPath = makeLibraryPath
|
libPath = makeLibraryPath
|
||||||
[ stdenv.cc.cc dbus libX11 zlib libX11 libxcb libXau libXdmcp freetype fontconfig libbsd ];
|
[ stdenv.cc.cc qtbase qtmultimedia dbus libX11 zlib libX11 libxcb libXau libXdmcp freetype fontconfig libbsd libjson libgpgerror];
|
||||||
|
|
||||||
version = "2016-1-17";
|
version = "2018-1-30";
|
||||||
|
|
||||||
mainbin = "SoulseekQt-" + (version) +"-"+ (if stdenv.is64bit then "64bit" else "32bit");
|
mainbin = "SoulseekQt-" + (version) +"-"+ (if stdenv.is64bit then "64bit" else "32bit");
|
||||||
srcs = {
|
srcs = {
|
||||||
"i686-linux" = fetchurl {
|
"x86_64-linux" = fetchurl {
|
||||||
url = "https://www.dropbox.com/s/kebk1b5ib1m3xxw/${mainbin}.tgz";
|
url = "https://www.dropbox.com/s/0vi87eef3ooh7iy/${mainbin}.tgz";
|
||||||
sha256 = "0r9rhnfslkgbw3l7fnc0rcfqjh58amgh5p33kwam0qvn1h1frnir";
|
sha256 = "0d1cayxr1a4j19bc5a3qp9pg22ggzmd55b6f5av3lc6lvwqqg4w6";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"x86_64-linux" = fetchurl {
|
desktopItem = makeDesktopItem {
|
||||||
url = "https://www.dropbox.com/s/7qh902qv2sxyp6p/${mainbin}.tgz";
|
name = "SoulseekQt";
|
||||||
sha256 = "05l3smpdvw8xdhv4v8a28j0yi1kvzhrha2ck23g4bl7x9wkay4cc";
|
exec = "soulseekqt";
|
||||||
};
|
icon = "$out/share/soulseekqt/";
|
||||||
|
comment = "Official Qt SoulSeek client";
|
||||||
|
desktopName = "SoulseekQt";
|
||||||
|
genericName = "SoulseekQt";
|
||||||
|
categories = "Network;";
|
||||||
};
|
};
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
@ -31,12 +39,22 @@ in stdenv.mkDerivation rec {
|
|||||||
inherit version;
|
inherit version;
|
||||||
src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
|
src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
|
||||||
|
|
||||||
sourceRoot = ".";
|
dontBuild = true;
|
||||||
buildPhase = ":"; # nothing to build
|
|
||||||
|
buildInputs = [ pythonPackages.binwalk squashfsTools ];
|
||||||
|
|
||||||
|
# avoid usage of appimagetool
|
||||||
|
unpackCmd = ''
|
||||||
|
export HOME=$(pwd) # workaround for binwalk
|
||||||
|
tar xvf $curSrc && binwalk --quiet \
|
||||||
|
${mainbin}.AppImage -D 'squashfs:.squashfs:unsquashfs %e'
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/{bin,share/soulseekqt}
|
||||||
cp ${mainbin} $out/bin/soulseekqt
|
cd squashfs-root/
|
||||||
|
cp -R soulseek.png translations $out/share/soulseekqt
|
||||||
|
cp SoulseekQt $out/bin/soulseekqt
|
||||||
'';
|
'';
|
||||||
|
|
||||||
fixupPhase = ''
|
fixupPhase = ''
|
||||||
@ -50,6 +68,6 @@ in stdenv.mkDerivation rec {
|
|||||||
homepage = http://www.soulseekqt.net;
|
homepage = http://www.soulseekqt.net;
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
maintainers = [ maintainers.genesis ];
|
maintainers = [ maintainers.genesis ];
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,6 @@ let
|
|||||||
# https://trac.sagemath.org/ticket/15980 for tracking of python3 support
|
# https://trac.sagemath.org/ticket/15980 for tracking of python3 support
|
||||||
python = nixpkgs.python2.override {
|
python = nixpkgs.python2.override {
|
||||||
packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
cypari2 = super.cypari2.override { inherit pari; };
|
|
||||||
|
|
||||||
cysignals = super.cysignals.override { inherit pari; };
|
|
||||||
|
|
||||||
# python packages that appear unmaintained and were not accepted into the nixpkgs
|
# python packages that appear unmaintained and were not accepted into the nixpkgs
|
||||||
# tree because of that. These packages are only dependencies of the more-or-less
|
# tree because of that. These packages are only dependencies of the more-or-less
|
||||||
# deprecated sagenb. However sagenb is still a default dependency and the doctests
|
# deprecated sagenb. However sagenb is still a default dependency and the doctests
|
||||||
@ -24,7 +20,7 @@ let
|
|||||||
pybrial = self.callPackage ./pybrial.nix {};
|
pybrial = self.callPackage ./pybrial.nix {};
|
||||||
|
|
||||||
sagelib = self.callPackage ./sagelib.nix {
|
sagelib = self.callPackage ./sagelib.nix {
|
||||||
inherit flint ecl pari eclib ntl arb;
|
inherit flint ecl arb;
|
||||||
inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
|
inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
|
||||||
linbox = nixpkgs.linbox.override { withSage = true; };
|
linbox = nixpkgs.linbox.override { withSage = true; };
|
||||||
};
|
};
|
||||||
@ -38,20 +34,20 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
env-locations = self.callPackage ./env-locations.nix {
|
env-locations = self.callPackage ./env-locations.nix {
|
||||||
inherit pari_data ecl pari;
|
inherit pari_data ecl;
|
||||||
inherit singular;
|
inherit singular;
|
||||||
three = nodePackages_8_x.three;
|
three = nodePackages_8_x.three;
|
||||||
mathjax = nodePackages_8_x.mathjax;
|
mathjax = nodePackages_8_x.mathjax;
|
||||||
};
|
};
|
||||||
|
|
||||||
sage-env = self.callPackage ./sage-env.nix {
|
sage-env = self.callPackage ./sage-env.nix {
|
||||||
inherit sage-src python rWrapper openblas-cblas-pc ecl singular eclib pari palp flint pynac pythonEnv giac ntl;
|
inherit sage-src python rWrapper openblas-cblas-pc ecl singular palp flint pynac pythonEnv;
|
||||||
pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
|
pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
|
||||||
};
|
};
|
||||||
|
|
||||||
sage-with-env = self.callPackage ./sage-with-env.nix {
|
sage-with-env = self.callPackage ./sage-with-env.nix {
|
||||||
inherit pari eclib pythonEnv ntl;
|
inherit pythonEnv;
|
||||||
inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular giac;
|
inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
|
||||||
pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
|
pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
|
||||||
three = nodePackages_8_x.three;
|
three = nodePackages_8_x.three;
|
||||||
};
|
};
|
||||||
@ -106,41 +102,18 @@ let
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25532
|
|
||||||
ntl = nixpkgs.ntl.overrideAttrs (oldAttrs: rec {
|
|
||||||
name = "ntl-10.5.0";
|
|
||||||
sourceRoot = "${name}/src";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://www.shoup.net/ntl/${name}.tar.gz";
|
|
||||||
sha256 = "1lmldaldgfr2b2a6585m3np5ds8bq1bis2s1ajycjm49vp4kc2xr";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
giac = nixpkgs.giac.override { inherit ntl; };
|
|
||||||
arb = nixpkgs.arb.override { inherit flint; };
|
arb = nixpkgs.arb.override { inherit flint; };
|
||||||
|
|
||||||
# update causes issues
|
singular = nixpkgs.singular.override { inherit flint; };
|
||||||
# https://groups.google.com/forum/#!topic/sage-packaging/cS3v05Q0zso
|
|
||||||
# https://trac.sagemath.org/ticket/24735
|
|
||||||
singular = (nixpkgs.singular.override { inherit ntl flint; }).overrideAttrs (oldAttrs: {
|
|
||||||
name = "singular-4.1.0p3";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-0/singular-4.1.0p3.tar.gz";
|
|
||||||
sha256 = "105zs3zk46b1cps403ap9423rl48824ap5gyrdgmg8fma34680a4";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# *not* to confuse with the python package "pynac"
|
# *not* to confuse with the python package "pynac"
|
||||||
# https://trac.sagemath.org/ticket/24838 (depends on arb update)
|
|
||||||
pynac = nixpkgs.pynac.override { inherit singular flint; };
|
pynac = nixpkgs.pynac.override { inherit singular flint; };
|
||||||
|
|
||||||
eclib = nixpkgs.eclib.override { inherit pari ntl; };
|
|
||||||
|
|
||||||
# With openblas (64 bit), the tests fail the same way as when sage is build with
|
# With openblas (64 bit), the tests fail the same way as when sage is build with
|
||||||
# openblas instead of openblasCompat. Apparently other packages somehow use flints
|
# openblas instead of openblasCompat. Apparently other packages somehow use flints
|
||||||
# blas when it is available. Alternative would be to override flint to use
|
# blas when it is available. Alternative would be to override flint to use
|
||||||
# openblasCompat.
|
# openblasCompat.
|
||||||
flint = nixpkgs.flint.override { withBlas = false; inherit ntl; };
|
flint = nixpkgs.flint.override { withBlas = false; };
|
||||||
|
|
||||||
# Multiple palp dimensions need to be available and sage expects them all to be
|
# Multiple palp dimensions need to be available and sage expects them all to be
|
||||||
# in the same folder.
|
# in the same folder.
|
||||||
@ -165,15 +138,6 @@ let
|
|||||||
|
|
||||||
# https://trac.sagemath.org/ticket/22191
|
# https://trac.sagemath.org/ticket/22191
|
||||||
ecl = nixpkgs.ecl_16_1_2;
|
ecl = nixpkgs.ecl_16_1_2;
|
||||||
|
|
||||||
# sage currently uses an unreleased version of pari
|
|
||||||
pari = (nixpkgs.pari.override { withThread = false; }).overrideAttrs (attrs: rec {
|
|
||||||
version = "2.10-1280-g88fb5b3"; # on update remove pari-stackwarn patch from `sage-src.nix`
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sageupstream/pari/pari-${version}.tar.gz";
|
|
||||||
sha256 = "19gbsm8jqq3hraanbmsvzkbh88iwlqbckzbnga3y76r7k42akn7m";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
in
|
in
|
||||||
python.pkgs.sage-wrapper // {
|
python.pkgs.sage-wrapper // {
|
||||||
doc = python.pkgs.sagedoc;
|
doc = python.pkgs.sagedoc;
|
||||||
|
@ -1,427 +0,0 @@
|
|||||||
commit c885927e25b29bd23869e02379c2918da430323e
|
|
||||||
Author: Timo Kaufmann <timokau@zoho.com>
|
|
||||||
Date: Sat Jun 30 02:26:15 2018 +0200
|
|
||||||
|
|
||||||
diff --git a/build/pkgs/arb/checksums.ini b/build/pkgs/arb/checksums.ini
|
|
||||||
index 1924ee03c3..9323b97391 100644
|
|
||||||
--- a/build/pkgs/arb/checksums.ini
|
|
||||||
+++ b/build/pkgs/arb/checksums.ini
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
tarball=arb-VERSION.tar.gz
|
|
||||||
-sha1=27476d0529e48a07d92da90bd0fb80dd18f443e3
|
|
||||||
-md5=733285d9705d10b8024e551ffa81952f
|
|
||||||
-cksum=2391183744
|
|
||||||
+sha1=44eda7bf8eaa666c45b1fc2c1b5bd08756d94b58
|
|
||||||
+md5=fa24de9fffe4394fb6a7a6792e2ecc5f
|
|
||||||
+cksum=3689220688
|
|
||||||
diff --git a/build/pkgs/arb/package-version.txt b/build/pkgs/arb/package-version.txt
|
|
||||||
index c8810e9bdb..fb2c0766b7 100644
|
|
||||||
--- a/build/pkgs/arb/package-version.txt
|
|
||||||
+++ b/build/pkgs/arb/package-version.txt
|
|
||||||
@@ -1 +1 @@
|
|
||||||
-2.12.0.p0
|
|
||||||
+2.13.0
|
|
||||||
diff --git a/build/pkgs/arb/patches/arb-pie-hardening-conflict.patch b/build/pkgs/arb/patches/arb-pie-hardening-conflict.patch
|
|
||||||
deleted file mode 100644
|
|
||||||
index 3e5c0e708b..0000000000
|
|
||||||
--- a/build/pkgs/arb/patches/arb-pie-hardening-conflict.patch
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,17 +0,0 @@
|
|
||||||
-In newer binutils, ld options -r and -pie conflict.
|
|
||||||
-Patch due to Jörg-Volker Peetz
|
|
||||||
-(source : https://groups.google.com/d/msg/sage-devel/TduebNoZuBE/sEULolL0BQAJ),
|
|
||||||
-packaged by Emmanuel Charpentier
|
|
||||||
-
|
|
||||||
-diff -ru arb-2.8.1-orig/Makefile.subdirs arb-2.8.1-new/Makefile.subdirs
|
|
||||||
---- arb-2.8.1-orig/Makefile.subdirs 2015-12-31 17:30:01.000000000 +0100
|
|
||||||
-+++ arb-2.8.1-new/Makefile.subdirs 2016-11-07 18:50:34.540051779 +0100
|
|
||||||
-@@ -52,7 +52,7 @@
|
|
||||||
- $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) -c $< -o $@ -MMD -MP -MF "$(BUILD_DIR)/$(MOD_DIR)_$*.d" -MT "$(BUILD_DIR)/$(MOD_DIR)_$*.d" -MT "$@"
|
|
||||||
-
|
|
||||||
- $(MOD_LOBJ): $(LOBJS)
|
|
||||||
-- $(QUIET_CC) $(CC) $(ABI_FLAG) -Wl,-r $^ -o $@ -nostdlib
|
|
||||||
-+ $(QUIET_CC) $(CC) $(ABI_FLAG) -r $^ -o $@ -nostdlib
|
|
||||||
-
|
|
||||||
- -include $(LOBJS:.lo=.d)
|
|
||||||
-
|
|
||||||
diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx
|
|
||||||
index 70d51e655a..00e7caea2c 100644
|
|
||||||
--- a/src/sage/rings/complex_arb.pyx
|
|
||||||
+++ b/src/sage/rings/complex_arb.pyx
|
|
||||||
@@ -857,14 +857,14 @@ class ComplexBallField(UniqueRepresentation, Field):
|
|
||||||
[0.500000000000000 +/- 2.09e-16]
|
|
||||||
|
|
||||||
sage: CBF.integral(lambda x, _: x.gamma(), 1 - CBF(i), 1 + CBF(i))
|
|
||||||
- [+/- 3.95e-15] + [1.5723926694981 +/- 4.53e-14]*I
|
|
||||||
+ [+/- 4...e-15] + [1.5723926694981 +/- 4...e-14]*I
|
|
||||||
|
|
||||||
sage: C = ComplexBallField(100)
|
|
||||||
sage: C.integral(lambda x, _: x.cos() * x.sin(), 0, 1)
|
|
||||||
[0.35403670913678559674939205737 +/- 8.89e-30]
|
|
||||||
|
|
||||||
sage: CBF.integral(lambda x, _: (x + x.exp()).sin(), 0, 8)
|
|
||||||
- [0.34740017266 +/- 6.36e-12]
|
|
||||||
+ [0.34740017266 +/- 6...e-12]
|
|
||||||
|
|
||||||
sage: C = ComplexBallField(2000)
|
|
||||||
sage: C.integral(lambda x, _: (x + x.exp()).sin(), 0, 8) # long time
|
|
||||||
@@ -879,14 +879,14 @@ class ComplexBallField(UniqueRepresentation, Field):
|
|
||||||
....: else:
|
|
||||||
....: return z.sqrt()
|
|
||||||
sage: CBF.integral(my_sqrt, -1 + CBF(i), -1 - CBF(i))
|
|
||||||
- [+/- 1.14e-14] + [-0.4752076627926 +/- 5.18e-14]*I
|
|
||||||
+ [+/- 1.14e-14] + [-0.4752076627926 +/- 5...e-14]*I
|
|
||||||
|
|
||||||
Note, though, that proper handling of the ``analytic`` flag is required
|
|
||||||
even when the path does not touch the branch cut::
|
|
||||||
|
|
||||||
sage: correct = CBF.integral(my_sqrt, 1, 2); correct
|
|
||||||
[1.21895141649746 +/- 3.73e-15]
|
|
||||||
- sage: RBF(integral(sqrt(x), x, 1, 2))
|
|
||||||
+ sage: RBF(integral(sqrt(x), x, 1, 2)) # long time
|
|
||||||
[1.21895141649746 +/- 1.79e-15]
|
|
||||||
sage: wrong = CBF.integral(lambda z, _: z.sqrt(), 1, 2) # WRONG!
|
|
||||||
sage: correct - wrong
|
|
||||||
@@ -915,9 +915,9 @@ class ComplexBallField(UniqueRepresentation, Field):
|
|
||||||
the integrand is unbounded::
|
|
||||||
|
|
||||||
sage: CBF.integral(lambda x, _: 1/x, -1, 1)
|
|
||||||
- [+/- inf] + [+/- inf]*I
|
|
||||||
+ nan + nan*I
|
|
||||||
sage: CBF.integral(lambda x, _: 1/x, 10^-1000, 1)
|
|
||||||
- [+/- inf] + [+/- inf]*I
|
|
||||||
+ nan + nan*I
|
|
||||||
sage: CBF.integral(lambda x, _: 1/x, 10^-1000, 1, abs_tol=1e-10)
|
|
||||||
[2302.5850930 +/- 1.26e-8]
|
|
||||||
|
|
||||||
@@ -928,14 +928,15 @@ class ComplexBallField(UniqueRepresentation, Field):
|
|
||||||
sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, abs_tol=1e-450)
|
|
||||||
[2.304377150950e-439 +/- 9.74e-452]
|
|
||||||
sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, abs_tol=0)
|
|
||||||
- [2.304377150949e-439 +/- 7.53e-452]
|
|
||||||
- sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, rel_tol=1e-4, abs_tol=0)
|
|
||||||
- [2.30438e-439 +/- 3.90e-445]
|
|
||||||
+ [2.304377150950e-439 +/- 7...e-452]
|
|
||||||
+ sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, rel_tol=1e-2, abs_tol=0)
|
|
||||||
+ [2.30438e-439 +/- 5.94e-445]
|
|
||||||
|
|
||||||
- sage: CBF.integral(lambda x, _: x*(1/x).sin(), 0, 1)
|
|
||||||
- [+/- 0.644]
|
|
||||||
- sage: CBF.integral(lambda x, _: x*(1/x).sin(), 0, 1, use_heap=True)
|
|
||||||
- [0.3785300 +/- 4.32e-8]
|
|
||||||
+ sage: epsi = CBF(1e-10)
|
|
||||||
+ sage: CBF.integral(lambda x, _: x*(1/x).sin(), epsi, 1)
|
|
||||||
+ [0.38 +/- 8.54e-3]
|
|
||||||
+ sage: CBF.integral(lambda x, _: x*(1/x).sin(), epsi, 1, use_heap=True)
|
|
||||||
+ [0.37853002 +/- 8.73e-9]
|
|
||||||
|
|
||||||
ALGORITHM:
|
|
||||||
|
|
||||||
@@ -951,12 +952,12 @@ class ComplexBallField(UniqueRepresentation, Field):
|
|
||||||
|
|
||||||
sage: i = QuadraticField(-1).gen()
|
|
||||||
sage: CBF.integral(lambda x, _: (1 + i*x).gamma(), -1, 1)
|
|
||||||
- [1.5723926694981 +/- 4.53e-14] + [+/- 3.95e-15]*I
|
|
||||||
+ [1.5723926694981 +/- 4...e-14] + [+/- 4...e-15]*I
|
|
||||||
|
|
||||||
- sage: ComplexBallField(10000).integral(lambda x, _: x.sin(), 0, 1, rel_tol=1e-400)
|
|
||||||
- [0.459... +/- ...e-4...]
|
|
||||||
+ sage: ComplexBallField(10000).integral(lambda x, _: x.sin(), 0, 1, rel_tol=1e-300)
|
|
||||||
+ [0.459... +/- ...e-3...]
|
|
||||||
sage: CBF.integral(lambda x, _: x.sin(), 0, 100, rel_tol=10)
|
|
||||||
- [+/- 7.61]
|
|
||||||
+ [0.138 +/- 5.53e-4]
|
|
||||||
|
|
||||||
sage: ComplexBallField(10000).integral(lambda x, _: x.sin(), 0, 1, abs_tol=1e-400)
|
|
||||||
[0.459697... +/- ...e-4...]
|
|
||||||
@@ -2389,9 +2390,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: ~CBF(i/3)
|
|
||||||
[-3.00000000000000 +/- 9.44e-16]*I
|
|
||||||
sage: ~CBF(0)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
sage: ~CBF(RIF(10,11))
|
|
||||||
- [0.1 +/- 9.53e-3]
|
|
||||||
+ [0.1 +/- 9.10e-3]
|
|
||||||
"""
|
|
||||||
cdef ComplexBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
||||||
@@ -2512,9 +2513,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(-2, 1)/CBF(1, 1/3)
|
|
||||||
[-1.500000000000000 +/- 8.83e-16] + [1.500000000000000 +/- 5.64e-16]*I
|
|
||||||
sage: CBF(2+I)/CBF(0)
|
|
||||||
- [+/- inf] + [+/- inf]*I
|
|
||||||
+ nan + nan*I
|
|
||||||
sage: CBF(1)/CBF(0)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
sage: CBF(1)/CBF(RBF(0, 1.))
|
|
||||||
nan
|
|
||||||
"""
|
|
||||||
@@ -2543,9 +2544,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(0)^(1/3)
|
|
||||||
0
|
|
||||||
sage: CBF(0)^(-1)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
sage: CBF(0)^(-2)
|
|
||||||
- [+/- inf] + [+/- inf]*I
|
|
||||||
+ nan + nan*I
|
|
||||||
|
|
||||||
TESTS::
|
|
||||||
|
|
||||||
@@ -2656,12 +2657,12 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(1).rising_factorial(5)
|
|
||||||
120.0000000000000
|
|
||||||
sage: CBF(1/3, 1/2).rising_factorial(300)
|
|
||||||
- [-3.87949484514e+612 +/- 5.23e+600] + [-3.52042209763e+612 +/- 5.55e+600]*I
|
|
||||||
+ [-3.87949484514e+612 +/- 5...e+600] + [-3.52042209763e+612 +/- 5...e+600]*I
|
|
||||||
|
|
||||||
sage: CBF(1).rising_factorial(-1)
|
|
||||||
nan
|
|
||||||
sage: CBF(1).rising_factorial(2**64)
|
|
||||||
- [+/- 2.30e+347382171305201370464]
|
|
||||||
+ [+/- 2.30e+347382171326740403407]
|
|
||||||
sage: ComplexBallField(128)(1).rising_factorial(2**64)
|
|
||||||
[2.343691126796861348e+347382171305201285713 +/- 4.71e+347382171305201285694]
|
|
||||||
sage: CBF(1/2).rising_factorial(CBF(2,3))
|
|
||||||
@@ -2700,7 +2701,7 @@ cdef class ComplexBall(RingElement):
|
|
||||||
[1.000000000000000 +/- 2.83e-16] + [-0.441271200305303 +/- 2.82e-16]*I
|
|
||||||
|
|
||||||
sage: CBF('inf').log()
|
|
||||||
- nan + nan*I
|
|
||||||
+ [+/- inf]
|
|
||||||
sage: CBF(2).log(0)
|
|
||||||
nan + nan*I
|
|
||||||
"""
|
|
||||||
@@ -2808,7 +2809,7 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(pi/2, 1/10).tan()
|
|
||||||
[+/- 2.87e-14] + [10.0333111322540 +/- 2.36e-14]*I
|
|
||||||
sage: CBF(pi/2).tan()
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
"""
|
|
||||||
cdef ComplexBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
||||||
@@ -2825,7 +2826,7 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(pi, 1/10).cot()
|
|
||||||
[+/- 5.74e-14] + [-10.0333111322540 +/- 2.81e-14]*I
|
|
||||||
sage: CBF(pi).cot()
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
"""
|
|
||||||
cdef ComplexBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
||||||
@@ -3211,9 +3212,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
1.000000000000000*I
|
|
||||||
|
|
||||||
sage: CBF(2+3*I).hypergeometric([1/4,1/3],[1/2])
|
|
||||||
- [0.7871684267473 +/- 7.34e-14] + [0.2749254173721 +/- 9.23e-14]*I
|
|
||||||
+ [0.7871684267473 +/- 7...e-14] + [0.2749254173721 +/- 9...e-14]*I
|
|
||||||
sage: CBF(2+3*I).hypergeometric([1/4,1/3],[1/2],regularized=True)
|
|
||||||
- [0.4441122268685 +/- 3.96e-14] + [0.1551100567338 +/- 5.75e-14]*I
|
|
||||||
+ [0.4441122268685 +/- 3...e-14] + [0.1551100567338 +/- 5...e-14]*I
|
|
||||||
|
|
||||||
sage: CBF(5).hypergeometric([2,3], [-5])
|
|
||||||
nan + nan*I
|
|
||||||
@@ -4041,9 +4042,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
|
|
||||||
sage: phi = CBF(1,1)
|
|
||||||
sage: (CBF.pi()/2).elliptic_e_inc(phi)
|
|
||||||
- [1.283840957898 +/- 3.23e-13] + [-0.5317843366915 +/- 7.79e-14]*I
|
|
||||||
+ [1.283840957898 +/- 3...e-13] + [-0.5317843366915 +/- 7...e-14]*I
|
|
||||||
sage: phi.elliptic_e()
|
|
||||||
- [1.2838409578982 +/- 5.90e-14] + [-0.5317843366915 +/- 3.35e-14]*I
|
|
||||||
+ [1.2838409578982 +/- 5...e-14] + [-0.5317843366915 +/- 3...e-14]*I
|
|
||||||
|
|
||||||
sage: phi = CBF(2, 3/7)
|
|
||||||
sage: (CBF.pi()/2).elliptic_e_inc(phi)
|
|
||||||
@@ -4312,8 +4313,7 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(10).laguerre_L(3, 2)
|
|
||||||
[-6.666666666667 +/- 4.15e-13]
|
|
||||||
sage: CBF(5,7).laguerre_L(CBF(2,3), CBF(1,-2))
|
|
||||||
- [5515.315030271 +/- 4.37e-10] + [-12386.942845271 +/- 5.47e-10]*I
|
|
||||||
-
|
|
||||||
+ [5515.315030271 +/- 4...e-10] + [-12386.942845271 +/- 5...e-10]*I
|
|
||||||
"""
|
|
||||||
cdef ComplexBall my_n = self._parent.coerce(n)
|
|
||||||
cdef ComplexBall my_m = self._parent.coerce(m)
|
|
||||||
@@ -4357,9 +4357,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
EXAMPLES::
|
|
||||||
|
|
||||||
sage: CBF(1/2).legendre_P(5)
|
|
||||||
- [0.08984375000000000 +/- 4.5...e-18]
|
|
||||||
+ [0.0898437500000000 +/- 7...e-17]
|
|
||||||
sage: CBF(1,2).legendre_P(CBF(2,3), CBF(0,1))
|
|
||||||
- [0.10996180744364 +/- 7.45e-15] + [0.14312767804055 +/- 8.38e-15]*I
|
|
||||||
+ [0.10996180744364 +/- 7.12e-15] + [0.14312767804055 +/- 8.07e-15]*I
|
|
||||||
sage: CBF(-10).legendre_P(5, 325/100)
|
|
||||||
[-22104403.487377 +/- 6.81e-7] + [53364750.687392 +/- 7.25e-7]*I
|
|
||||||
sage: CBF(-10).legendre_P(5, 325/100, type=3)
|
|
||||||
@@ -4393,9 +4393,9 @@ cdef class ComplexBall(RingElement):
|
|
||||||
sage: CBF(1/2).legendre_Q(5)
|
|
||||||
[0.55508089057168 +/- 2.79e-15]
|
|
||||||
sage: CBF(1,2).legendre_Q(CBF(2,3), CBF(0,1))
|
|
||||||
- [0.167678710 +/- 4.60e-10] + [-0.161558598 +/- 7.47e-10]*I
|
|
||||||
+ [0.167678710 +/- 3.91e-10] + [-0.161558598 +/- 6.77e-10]*I
|
|
||||||
sage: CBF(-10).legendre_Q(5, 325/100)
|
|
||||||
- [-83825154.36008 +/- 4.94e-6] + [-34721515.80396 +/- 5.40e-6]*I
|
|
||||||
+ [-83825154.36008 +/- 5.02e-6] + [-34721515.80396 +/- 5.42e-6]*I
|
|
||||||
sage: CBF(-10).legendre_Q(5, 325/100, type=3)
|
|
||||||
[-4.797306921692e-6 +/- 6.82e-19] + [-4.797306921692e-6 +/- 6.57e-19]*I
|
|
||||||
|
|
||||||
diff --git a/src/sage/rings/polynomial/polynomial_complex_arb.pyx b/src/sage/rings/polynomial/polynomial_complex_arb.pyx
|
|
||||||
index c436d4705b..ef611a566b 100644
|
|
||||||
--- a/src/sage/rings/polynomial/polynomial_complex_arb.pyx
|
|
||||||
+++ b/src/sage/rings/polynomial/polynomial_complex_arb.pyx
|
|
||||||
@@ -543,7 +543,7 @@ cdef class Polynomial_complex_arb(Polynomial):
|
|
||||||
sage: (1 - x/3).inverse_series_trunc(3)
|
|
||||||
([0.1111111111111111 +/- 5.99e-17])*x^2 + ([0.3333333333333333 +/- 7.04e-17])*x + 1.000000000000000
|
|
||||||
sage: x.inverse_series_trunc(1)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
sage: Pol(0).inverse_series_trunc(2)
|
|
||||||
(nan + nan*I)*x + nan + nan*I
|
|
||||||
|
|
||||||
@@ -671,7 +671,7 @@ cdef class Polynomial_complex_arb(Polynomial):
|
|
||||||
sage: pol._sqrt_series(2)
|
|
||||||
([+/- 7.51e-3] + [+/- 0.501]*I)*x + [+/- 5.01e-3] + [+/- 1.01]*I
|
|
||||||
sage: x._sqrt_series(2)
|
|
||||||
- ([+/- inf] + [+/- inf]*I)*x
|
|
||||||
+ (nan + nan*I)*x
|
|
||||||
"""
|
|
||||||
cdef Polynomial_complex_arb res = self._new()
|
|
||||||
if n < 0:
|
|
||||||
diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx
|
|
||||||
index c9f68e38d7..76e3037a9a 100644
|
|
||||||
--- a/src/sage/rings/real_arb.pyx
|
|
||||||
+++ b/src/sage/rings/real_arb.pyx
|
|
||||||
@@ -161,7 +161,7 @@ values and should be preferred::
|
|
||||||
|
|
||||||
sage: RBF(NaN) < RBF(infinity)
|
|
||||||
False
|
|
||||||
- sage: 1/RBF(0) <= RBF(infinity)
|
|
||||||
+ sage: RBF(0).add_error(infinity) <= RBF(infinity)
|
|
||||||
True
|
|
||||||
|
|
||||||
TESTS::
|
|
||||||
@@ -252,6 +252,8 @@ cdef void mpfi_to_arb(arb_t target, const mpfi_t source, const long precision):
|
|
||||||
(+infinity, +infinity)
|
|
||||||
sage: RBF(RIF(-infinity)).endpoints()
|
|
||||||
(-infinity, -infinity)
|
|
||||||
+ sage: RBF(RIF(-infinity, infinity)).endpoints()
|
|
||||||
+ (-infinity, +infinity)
|
|
||||||
sage: RIF(RBF(infinity)).endpoints()
|
|
||||||
(+infinity, +infinity)
|
|
||||||
sage: RIF(RBF(-infinity)).endpoints()
|
|
||||||
@@ -266,10 +268,11 @@ cdef void mpfi_to_arb(arb_t target, const mpfi_t source, const long precision):
|
|
||||||
if _do_sig(precision): sig_on()
|
|
||||||
mpfi_get_left(left, source)
|
|
||||||
mpfi_get_right(right, source)
|
|
||||||
- arb_set_interval_mpfr(target, left, right, precision)
|
|
||||||
- # Work around weakness of arb_set_interval_mpfr(tgt, inf, inf)
|
|
||||||
- if mpfr_equal_p(left, right):
|
|
||||||
- mag_zero(arb_radref(target))
|
|
||||||
+ if mpfr_inf_p(left) and mpfr_inf_p(right) and mpfr_sgn(left) < 0 < mpfr_sgn(right):
|
|
||||||
+ # Work around a weakness of arb_set_interval_mpfr(tgt, -inf, inf)
|
|
||||||
+ arb_zero_pm_inf(target)
|
|
||||||
+ else:
|
|
||||||
+ arb_set_interval_mpfr(target, left, right, precision)
|
|
||||||
if _do_sig(precision): sig_off()
|
|
||||||
|
|
||||||
mpfr_clear(left)
|
|
||||||
@@ -649,17 +652,15 @@ class RealBallField(UniqueRepresentation, Field):
|
|
||||||
EXAMPLES::
|
|
||||||
|
|
||||||
sage: RBF.some_elements()
|
|
||||||
- [1.000000000000000,
|
|
||||||
- [0.3333333333333333 +/- 7.04e-17],
|
|
||||||
+ [0, 1.000000000000000, [0.3333333333333333 +/- 7.04e-17],
|
|
||||||
[-4.733045976388941e+363922934236666733021124 +/- 3.46e+363922934236666733021108],
|
|
||||||
- [+/- inf],
|
|
||||||
- [+/- inf],
|
|
||||||
- nan]
|
|
||||||
+ [+/- inf], [+/- inf], [+/- inf], nan]
|
|
||||||
"""
|
|
||||||
import sage.symbolic.constants
|
|
||||||
- return [self(1), self(1)/3,
|
|
||||||
+ inf = self(sage.rings.infinity.Infinity)
|
|
||||||
+ return [self(0), self(1), self(1)/3,
|
|
||||||
-self(2)**(Integer(2)**80),
|
|
||||||
- self(sage.rings.infinity.Infinity), ~self(0),
|
|
||||||
+ inf, -inf, self.zero().add_error(inf),
|
|
||||||
self.element_class(self, sage.symbolic.constants.NotANumber())]
|
|
||||||
|
|
||||||
def _sum_of_products(self, terms):
|
|
||||||
@@ -881,7 +882,7 @@ class RealBallField(UniqueRepresentation, Field):
|
|
||||||
sage: RBF.gamma(5)
|
|
||||||
24.00000000000000
|
|
||||||
sage: RBF.gamma(10**20)
|
|
||||||
- [+/- 5.92e+1956570551809674821757]
|
|
||||||
+ [+/- 5.50e+1956570552410610660600]
|
|
||||||
sage: RBF.gamma(1/3)
|
|
||||||
[2.678938534707747 +/- 8.99e-16]
|
|
||||||
sage: RBF.gamma(-5)
|
|
||||||
@@ -2247,7 +2248,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: inf = RBF(+infinity)
|
|
||||||
sage: other_inf = RBF(+infinity, 42.r)
|
|
||||||
sage: neg_inf = RBF(-infinity)
|
|
||||||
- sage: extended_line = 1/RBF(0)
|
|
||||||
+ sage: extended_line = RBF(0).add_error(infinity)
|
|
||||||
sage: exact_nan = inf - inf
|
|
||||||
sage: exact_nan.mid(), exact_nan.rad()
|
|
||||||
(NaN, 0.00000000)
|
|
||||||
@@ -2659,7 +2660,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: ~RBF(5)
|
|
||||||
[0.2000000000000000 +/- 4.45e-17]
|
|
||||||
sage: ~RBF(0)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
sage: RBF(RIF(-0.1,0.1))
|
|
||||||
[+/- 0.101]
|
|
||||||
|
|
||||||
@@ -2739,7 +2740,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: RBF(pi)/RBF(e)
|
|
||||||
[1.155727349790922 +/- 8.43e-16]
|
|
||||||
sage: RBF(2)/RBF(0)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
"""
|
|
||||||
cdef RealBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
||||||
@@ -2765,7 +2766,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: RBF(-1)^(1/3)
|
|
||||||
nan
|
|
||||||
sage: RBF(0)^(-1)
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
sage: RBF(-e)**RBF(pi)
|
|
||||||
nan
|
|
||||||
|
|
||||||
@@ -3129,7 +3130,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: RBF(1).tan()
|
|
||||||
[1.557407724654902 +/- 3.26e-16]
|
|
||||||
sage: RBF(pi/2).tan()
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
"""
|
|
||||||
cdef RealBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
||||||
@@ -3146,7 +3147,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: RBF(1).cot()
|
|
||||||
[0.642092615934331 +/- 4.79e-16]
|
|
||||||
sage: RBF(pi).cot()
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
"""
|
|
||||||
cdef RealBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
||||||
@@ -3257,7 +3258,7 @@ cdef class RealBall(RingElement):
|
|
||||||
sage: RBF(1).coth()
|
|
||||||
[1.313035285499331 +/- 4.97e-16]
|
|
||||||
sage: RBF(0).coth()
|
|
||||||
- [+/- inf]
|
|
||||||
+ nan
|
|
||||||
"""
|
|
||||||
cdef RealBall res = self._new()
|
|
||||||
if _do_sig(prec(self)): sig_on()
|
|
@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/build/pkgs/openblas/package-version.txt b/build/pkgs/openblas/package-version.txt
|
||||||
|
index 3bc45c25d4..7c7c224887 100644
|
||||||
|
--- a/src/sage/schemes/elliptic_curves/padics.py
|
||||||
|
+++ b/src/sage/schemes/elliptic_curves/padics.py
|
||||||
|
@@ -292,8 +292,8 @@ def padic_regulator(self, p, prec=20, height=None, check_hypotheses=True):
|
||||||
|
|
||||||
|
sage: max_prec = 30 # make sure we get past p^2 # long time
|
||||||
|
sage: full = E.padic_regulator(5, max_prec) # long time
|
||||||
|
- sage: for prec in range(1, max_prec): # long time
|
||||||
|
- ....: assert E.padic_regulator(5, prec) == full # long time
|
||||||
|
+ sage: for prec in range(1, max_prec): # known bug (#25969) # long time
|
||||||
|
+ ....: assert E.padic_regulator(5, prec) == full # known bug (#25969) # long time
|
||||||
|
|
||||||
|
A case where the generator belongs to the formal group already
|
||||||
|
(:trac:`3632`)::
|
@ -1,48 +0,0 @@
|
|||||||
diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py
|
|
||||||
index 961c20aaac..3d601d8939 100644
|
|
||||||
--- a/src/sage/interfaces/maxima_abstract.py
|
|
||||||
+++ b/src/sage/interfaces/maxima_abstract.py
|
|
||||||
@@ -1743,7 +1743,7 @@ class MaximaAbstractElement(ExtraTabCompletion, InterfaceElement):
|
|
||||||
sage: y,d = var('y,d')
|
|
||||||
sage: f = function('f')
|
|
||||||
sage: latex(maxima(derivative(f(x*y), x)))
|
|
||||||
- \left(\left.{{{\it \partial}}\over{{\it \partial}\, {\it t_0}}}\,f\left({\it t_0}\right) \right|_{{\it t_0}={\it x}\, {\it y}}\right)\,{\it y}
|
|
||||||
+ \left(\left.{{{\it \partial}}\over{{\it \partial}\, {\it t}_{0}}}\,f\left({\it t}_{0}\right) \right|_{{\it t}_{0}={\it x}\, {\it y}}\right)\,{\it y}
|
|
||||||
sage: latex(maxima(derivative(f(x,y,d), d,x,x,y)))
|
|
||||||
{{{\it \partial}^4}\over{{\it \partial}\,{\it d}\, {\it \partial}\,{\it x}^2\,{\it \partial}\, {\it y}}}\,f\left({\it x} , {\it y} , {\it d}\right)
|
|
||||||
sage: latex(maxima(d/(d-2)))
|
|
||||||
diff --git a/src/sage/manifolds/differentiable/metric.py b/src/sage/manifolds/differentiable/metric.py
|
|
||||||
index 3cd6ad3235..1e18af1a6b 100644
|
|
||||||
--- a/src/sage/manifolds/differentiable/metric.py
|
|
||||||
+++ b/src/sage/manifolds/differentiable/metric.py
|
|
||||||
@@ -993,7 +993,7 @@ class PseudoRiemannianMetric(TensorField):
|
|
||||||
2-dimensional differentiable manifold S^2
|
|
||||||
sage: g.riemann()[:]
|
|
||||||
[[[[0, 0], [0, 0]], [[0, sin(th)^2], [-sin(th)^2, 0]]],
|
|
||||||
- [[[0, (cos(th)^2 - 1)/sin(th)^2], [1, 0]], [[0, 0], [0, 0]]]]
|
|
||||||
+ [[[0, -1], [1, 0]], [[0, 0], [0, 0]]]]
|
|
||||||
|
|
||||||
In dimension 2, the Riemann tensor can be expressed entirely in terms of
|
|
||||||
the Ricci scalar `r`:
|
|
||||||
diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
|
|
||||||
index dfb8751467..27402e54ab 100644
|
|
||||||
--- a/src/sage/symbolic/expression.pyx
|
|
||||||
+++ b/src/sage/symbolic/expression.pyx
|
|
||||||
@@ -7154,7 +7154,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: ex = lcm(sin(x)^2 - 1, sin(x)^2 + sin(x)); ex
|
|
||||||
(sin(x)^2 + sin(x))*(sin(x)^2 - 1)/(sin(x) + 1)
|
|
||||||
sage: ex.simplify_full()
|
|
||||||
- -cos(x)^2*sin(x)
|
|
||||||
+ sin(x)^3 - sin(x)
|
|
||||||
|
|
||||||
TESTS:
|
|
||||||
|
|
||||||
@@ -10004,7 +10004,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
|
|
||||||
sage: f=tan(3*x)
|
|
||||||
sage: f.simplify_trig()
|
|
||||||
- (4*cos(x)^2 - 1)*sin(x)/(4*cos(x)^3 - 3*cos(x))
|
|
||||||
+ -(4*cos(x)^2 - 1)*sin(x)/(4*cos(x)*sin(x)^2 - cos(x))
|
|
||||||
sage: f.simplify_trig(False)
|
|
||||||
sin(3*x)/cos(3*x)
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/src/sage/libs/pari/__init__.py b/src/sage/libs/pari/__init__.py
|
||||||
|
index e451766474..77eda66097 100644
|
||||||
|
--- a/src/sage/libs/pari/__init__.py
|
||||||
|
+++ b/src/sage/libs/pari/__init__.py
|
||||||
|
@@ -205,6 +205,13 @@ def _get_pari_instance():
|
||||||
|
# messages in Sage.
|
||||||
|
P.default("debugmem", 0)
|
||||||
|
|
||||||
|
+ # Make sure pari doesn't use threads, regardless of how it was compiled.
|
||||||
|
+ # Threads cause some doctest failures (memory issues). Those could probably
|
||||||
|
+ # be solved without disabling threads. But that would require figuring out
|
||||||
|
+ # some sensible values for `threadsizemax`. See
|
||||||
|
+ # https://pari.math.u-bordeaux.fr/dochtml/html/GP_defaults.html
|
||||||
|
+ P.default("nbthreads", 1)
|
||||||
|
+
|
||||||
|
return P
|
||||||
|
|
||||||
|
pari = _get_pari_instance()
|
@ -1,479 +0,0 @@
|
|||||||
diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
|
|
||||||
index 3a417d9d5c..fadaadbaf6 100644
|
|
||||||
--- a/src/sage/calculus/calculus.py
|
|
||||||
+++ b/src/sage/calculus/calculus.py
|
|
||||||
@@ -231,7 +231,7 @@ Another example::
|
|
||||||
sage: f(x=3)
|
|
||||||
arcsinh(1)
|
|
||||||
sage: f.derivative(x)
|
|
||||||
- 1/3/sqrt(1/9*x^2 + 1)
|
|
||||||
+ 1/sqrt(x^2 + 9)
|
|
||||||
|
|
||||||
We compute the length of the parabola from 0 to 2::
|
|
||||||
|
|
||||||
@@ -1509,8 +1509,8 @@ def laplace(ex, t, s, algorithm='maxima'):
|
|
||||||
Testing SymPy::
|
|
||||||
|
|
||||||
sage: laplace(t^n, t, s, algorithm='sympy')
|
|
||||||
- (s^(-n)*gamma(n + 1)/s, 0, -re(n) < 1)
|
|
||||||
-
|
|
||||||
+ (gamma(n + 1)/(s*s^n), 0, -re(n) < 1)
|
|
||||||
+
|
|
||||||
Testing Maxima::
|
|
||||||
|
|
||||||
sage: laplace(t^n, t, s, algorithm='maxima')
|
|
||||||
diff --git a/src/sage/functions/hypergeometric.py b/src/sage/functions/hypergeometric.py
|
|
||||||
index 1fc2db5c94..f3e49b9cdb 100644
|
|
||||||
--- a/src/sage/functions/hypergeometric.py
|
|
||||||
+++ b/src/sage/functions/hypergeometric.py
|
|
||||||
@@ -34,7 +34,7 @@ Simplification (note that ``simplify_full`` does not yet call
|
|
||||||
sage: a.simplify_hypergeometric()
|
|
||||||
1/((-e^x + 1)^e^x)
|
|
||||||
sage: a.simplify_hypergeometric(algorithm='sage')
|
|
||||||
- (-e^x + 1)^(-e^x)
|
|
||||||
+ 1/((-e^x + 1)^e^x)
|
|
||||||
|
|
||||||
Equality testing::
|
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ Series expansions of confluent hypergeometric functions::
|
|
||||||
|
|
||||||
sage: hypergeometric_M(2, 2, x).series(x, 3)
|
|
||||||
1 + 1*x + 1/2*x^2 + Order(x^3)
|
|
||||||
- sage: hypergeometric_U(2, 2, x).series(x == 3, 100).subs(x=1).n()
|
|
||||||
+ sage: hypergeometric_U(2, 2, x).series(x == 3, 100).subs(x=1).n() # known bug (see :trac:`25688`)
|
|
||||||
0.403652637676806
|
|
||||||
sage: hypergeometric_U(2, 2, 1).n()
|
|
||||||
0.403652637676806
|
|
||||||
@@ -773,7 +773,7 @@ def closed_form(hyp):
|
|
||||||
sage: closed_form(hypergeometric([], [], z))
|
|
||||||
e^z
|
|
||||||
sage: closed_form(hypergeometric([a], [], z))
|
|
||||||
- (-z + 1)^(-a)
|
|
||||||
+ 1/((-z + 1)^a)
|
|
||||||
sage: closed_form(hypergeometric([1, 1, 2], [1, 1], z))
|
|
||||||
(z - 1)^(-2)
|
|
||||||
sage: closed_form(hypergeometric([2, 3], [1], x))
|
|
||||||
@@ -1121,7 +1121,7 @@ class Hypergeometric_U(BuiltinFunction):
|
|
||||||
sage: var('a b z')
|
|
||||||
(a, b, z)
|
|
||||||
sage: hypergeometric_U(a, b, z).generalized()
|
|
||||||
- z^(-a)*hypergeometric((a, a - b + 1), (), -1/z)
|
|
||||||
+ hypergeometric((a, a - b + 1), (), -1/z)/z^a
|
|
||||||
sage: hypergeometric_U(1, 3, 1/2).generalized()
|
|
||||||
2*hypergeometric((1, -1), (), -2)
|
|
||||||
sage: hypergeometric_U(3, I, 2).generalized()
|
|
||||||
diff --git a/src/sage/functions/log.py b/src/sage/functions/log.py
|
|
||||||
index 75d1bf8060..61968582af 100644
|
|
||||||
--- a/src/sage/functions/log.py
|
|
||||||
+++ b/src/sage/functions/log.py
|
|
||||||
@@ -518,17 +518,17 @@ class Function_polylog(GinacFunction):
|
|
||||||
|
|
||||||
sage: BF = RealBallField(100)
|
|
||||||
sage: polylog(2, BF(1/3))
|
|
||||||
- [0.36621322997706348761674629766 +/- 4.51e-30]
|
|
||||||
+ [0.36621322997706348761674629766... +/- ...]
|
|
||||||
sage: polylog(2, BF(4/3))
|
|
||||||
- nan
|
|
||||||
+ [2.27001825336107090380391448586 +/- 5.64e-30] + [-0.90377988538400159956755721265 +/- 8.39e-30]*I
|
|
||||||
sage: parent(_)
|
|
||||||
- Real ball field with 100 bits of precision
|
|
||||||
+ Complex ball field with 100 bits of precision
|
|
||||||
sage: polylog(2, CBF(1/3))
|
|
||||||
- [0.366213229977063 +/- 5.85e-16]
|
|
||||||
+ [0.366213229977063 +/- ...]
|
|
||||||
sage: parent(_)
|
|
||||||
Complex ball field with 53 bits of precision
|
|
||||||
sage: polylog(2, CBF(1))
|
|
||||||
- [1.644934066848226 +/- 6.59e-16]
|
|
||||||
+ [1.644934066848226 +/- ...]
|
|
||||||
sage: parent(_)
|
|
||||||
Complex ball field with 53 bits of precision
|
|
||||||
"""
|
|
||||||
diff --git a/src/sage/functions/trig.py b/src/sage/functions/trig.py
|
|
||||||
index e7e7a311cd..1f2926d6c9 100644
|
|
||||||
--- a/src/sage/functions/trig.py
|
|
||||||
+++ b/src/sage/functions/trig.py
|
|
||||||
@@ -529,13 +529,8 @@ class Function_arcsin(GinacFunction):
|
|
||||||
arcsin
|
|
||||||
sage: asin(complex(1,1))
|
|
||||||
(0.6662394324925152+1.0612750619050357j)
|
|
||||||
-
|
|
||||||
- Check that :trac:`22823` is fixed::
|
|
||||||
-
|
|
||||||
- sage: bool(asin(SR(2.1)) == NaN)
|
|
||||||
- True
|
|
||||||
- sage: asin(SR(2.1)).is_real()
|
|
||||||
- False
|
|
||||||
+ sage: asin(SR(2.1))
|
|
||||||
+ 1.57079632679490 - 1.37285914424258*I
|
|
||||||
"""
|
|
||||||
GinacFunction.__init__(self, 'arcsin', latex_name=r"\arcsin",
|
|
||||||
conversions=dict(maxima='asin', sympy='asin', fricas="asin", giac="asin"))
|
|
||||||
@@ -595,13 +590,8 @@ class Function_arccos(GinacFunction):
|
|
||||||
arccos
|
|
||||||
sage: acos(complex(1,1))
|
|
||||||
(0.9045568943023814-1.0612750619050357j)
|
|
||||||
-
|
|
||||||
- Check that :trac:`22823` is fixed::
|
|
||||||
-
|
|
||||||
- sage: bool(acos(SR(2.1)) == NaN)
|
|
||||||
- True
|
|
||||||
- sage: acos(SR(2.1)).is_real()
|
|
||||||
- False
|
|
||||||
+ sage: acos(SR(2.1))
|
|
||||||
+ 1.37285914424258*I
|
|
||||||
"""
|
|
||||||
GinacFunction.__init__(self, 'arccos', latex_name=r"\arccos",
|
|
||||||
conversions=dict(maxima='acos', sympy='acos', fricas='acos', giac='acos'))
|
|
||||||
@@ -807,7 +797,7 @@ class Function_arcsec(GinacFunction):
|
|
||||||
sage: arcsec(2).n(100)
|
|
||||||
1.0471975511965977461542144611
|
|
||||||
sage: arcsec(1/2).n(100)
|
|
||||||
- NaN
|
|
||||||
+ 1.3169578969248167086250463473*I
|
|
||||||
sage: RDF(arcsec(2)) # abs tol 1e-15
|
|
||||||
1.0471975511965976
|
|
||||||
sage: arcsec(1 + I)
|
|
||||||
@@ -958,7 +948,9 @@ class Function_arctan2(GinacFunction):
|
|
||||||
sage: atan2(0,0,hold=True)
|
|
||||||
arctan2(0, 0)
|
|
||||||
sage: atan2(0,0,hold=True).n()
|
|
||||||
- NaN
|
|
||||||
+ Traceback (most recent call last):
|
|
||||||
+ ...
|
|
||||||
+ RuntimeError: atan2(): division by zero
|
|
||||||
|
|
||||||
Check if :trac:`10062` is fixed, this was caused by
|
|
||||||
``(I*I).is_positive()`` returning ``True``::
|
|
||||||
diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py b/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
|
|
||||||
index 3b5c8d1729..1c6b73a16c 100644
|
|
||||||
--- a/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
|
|
||||||
+++ b/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
|
|
||||||
@@ -1422,8 +1422,10 @@ class HyperbolicGeodesicUHP(HyperbolicGeodesic):
|
|
||||||
expressions do not generate runtime errors. ::
|
|
||||||
|
|
||||||
sage: g=HyperbolicPlane().UHP().get_geodesic(-1+I,1+I)
|
|
||||||
- sage: g.midpoint()
|
|
||||||
- Point in UHP 1/2*(sqrt(2)*e^(1/2*arccosh(3)) - sqrt(2) + (I - 1)*e^(1/2*arccosh(3)) + I - 1)/((1/4*I - 1/4)*sqrt(2)*e^(1/2*arccosh(3)) - (1/4*I - 1/4)*sqrt(2) + 1/2*e^(1/2*arccosh(3)) + 1/2)
|
|
||||||
+ sage: point = g.midpoint(); point
|
|
||||||
+ Point in UHP -1/2*(sqrt(2)*...
|
|
||||||
+ sage: QQbar(point.coordinates()).radical_expression()
|
|
||||||
+ I*sqrt(2)
|
|
||||||
|
|
||||||
Check that floating points remain floating points
|
|
||||||
in :meth:`midpoint` ::
|
|
||||||
diff --git a/src/sage/interfaces/fricas.py b/src/sage/interfaces/fricas.py
|
|
||||||
index 82aae78e37..8501ea2a18 100644
|
|
||||||
--- a/src/sage/interfaces/fricas.py
|
|
||||||
+++ b/src/sage/interfaces/fricas.py
|
|
||||||
@@ -1084,14 +1084,14 @@ class FriCASElement(ExpectElement):
|
|
||||||
0.451026811796262,
|
|
||||||
0.732815101786507,
|
|
||||||
0.837981225008390,
|
|
||||||
- NaN,
|
|
||||||
- NaN,
|
|
||||||
+ 1.57079632679490 - 0.467145308103262*I,
|
|
||||||
+ 0.467145308103262*I,
|
|
||||||
1.11976951499863,
|
|
||||||
0.451026811796262,
|
|
||||||
0.732815101786507,
|
|
||||||
0.837981225008390,
|
|
||||||
- NaN,
|
|
||||||
- NaN]
|
|
||||||
+ 1.57079632679490 - 0.467145308103262*I,
|
|
||||||
+ 0.467145308103262*I]
|
|
||||||
sage: l = [tanh, sinh, cosh, coth, sech, csch, asinh, acosh, atanh, acoth, asech, acsch, arcsinh, arccosh, arctanh, arccoth, arcsech, arccsch]
|
|
||||||
sage: [f(x)._fricas_().sage().subs(x=0.9) for f in l] # optional - fricas
|
|
||||||
[0.716297870199024,
|
|
||||||
diff --git a/src/sage/libs/pynac/pynac.pyx b/src/sage/libs/pynac/pynac.pyx
|
|
||||||
index 9e9d8f664b..e3406f007e 100644
|
|
||||||
--- a/src/sage/libs/pynac/pynac.pyx
|
|
||||||
+++ b/src/sage/libs/pynac/pynac.pyx
|
|
||||||
@@ -1824,7 +1824,7 @@ cdef py_atan2(x, y):
|
|
||||||
sage: atan2(CC(I), CC(I+1))
|
|
||||||
0.553574358897045 + 0.402359478108525*I
|
|
||||||
sage: atan2(CBF(I), CBF(I+1))
|
|
||||||
- [0.55357435889705 +/- 5.58e-15] + [0.402359478108525 +/- 7.11e-16]*I
|
|
||||||
+ [0.55357435889705 +/- ...] + [0.402359478108525 +/- ...]*I
|
|
||||||
|
|
||||||
Check that :trac:`23776` is fixed and RDF input gives real output::
|
|
||||||
|
|
||||||
diff --git a/src/sage/matrix/matrix_symbolic_dense.pyx b/src/sage/matrix/matrix_symbolic_dense.pyx
|
|
||||||
index 46a15e53eb..7a0beb437b 100644
|
|
||||||
--- a/src/sage/matrix/matrix_symbolic_dense.pyx
|
|
||||||
+++ b/src/sage/matrix/matrix_symbolic_dense.pyx
|
|
||||||
@@ -200,7 +200,7 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
|
|
||||||
sage: eval, [evec], mult = es[0]
|
|
||||||
sage: delta = eval*evec - evec*A
|
|
||||||
sage: abs(abs(delta)) < 1e-10
|
|
||||||
- sqrt(9/25*((2*sqrt(6) - 3)*(sqrt(6) - 2) + 7*sqrt(6) - 18)^2 + 9/25*((sqrt(6) - 2)*(sqrt(6) - 4) + 6*sqrt(6) - 14)^2) < (1.00000000000000e-10)
|
|
||||||
+ 3/5*sqrt(((2*sqrt(6) - 3)*(sqrt(6) - 2) + 7*sqrt(6) - 18)^2 + ((sqrt(6) - 2)*(sqrt(6) - 4) + 6*sqrt(6) - 14)^2) < (1.00000000000000e-10)
|
|
||||||
sage: abs(abs(delta)).n() < 1e-10
|
|
||||||
True
|
|
||||||
|
|
||||||
diff --git a/src/sage/modules/matrix_morphism.py b/src/sage/modules/matrix_morphism.py
|
|
||||||
index 17a1d6e290..03892ceec0 100644
|
|
||||||
--- a/src/sage/modules/matrix_morphism.py
|
|
||||||
+++ b/src/sage/modules/matrix_morphism.py
|
|
||||||
@@ -214,9 +214,9 @@ class MatrixMorphism_abstract(sage.categories.morphism.Morphism):
|
|
||||||
sage: f((1, 0))
|
|
||||||
Traceback (most recent call last):
|
|
||||||
...
|
|
||||||
- TypeError: Unable to coerce entries (=[1.00000000000000*I, 0.000000000000000]) to coefficients in Real Field with 53 bits of precision
|
|
||||||
+ TypeError: Unable to coerce entries (=[1.00000000000000*I, 0]) to coefficients in Real Field with 53 bits of precision
|
|
||||||
sage: f((1, 0), coerce=False)
|
|
||||||
- (1.00000000000000*I, 0.000000000000000)
|
|
||||||
+ (1.00000000000000*I, 0)
|
|
||||||
|
|
||||||
"""
|
|
||||||
if self.domain().is_ambient():
|
|
||||||
diff --git a/src/sage/plot/plot.py b/src/sage/plot/plot.py
|
|
||||||
index 77cdeb8c46..e501e74036 100644
|
|
||||||
--- a/src/sage/plot/plot.py
|
|
||||||
+++ b/src/sage/plot/plot.py
|
|
||||||
@@ -2061,7 +2061,7 @@ def _plot(funcs, xrange, parametric=False,
|
|
||||||
plot properly (:trac:`13246`)::
|
|
||||||
|
|
||||||
sage: parametric_plot((x, arcsec(x)), (x, -2, 2))
|
|
||||||
- Graphics object consisting of 1 graphics primitive
|
|
||||||
+ Graphics object consisting of 2 graphics primitives
|
|
||||||
|
|
||||||
"""
|
|
||||||
from sage.plot.colors import Color
|
|
||||||
diff --git a/src/sage/repl/display/formatter.py b/src/sage/repl/display/formatter.py
|
|
||||||
index 8ce2e839d7..948207c95e 100644
|
|
||||||
--- a/src/sage/repl/display/formatter.py
|
|
||||||
+++ b/src/sage/repl/display/formatter.py
|
|
||||||
@@ -25,11 +25,11 @@ generally, all sage expression as an ASCII art object::
|
|
||||||
sage: shell = get_test_shell()
|
|
||||||
sage: shell.run_cell('%display ascii_art')
|
|
||||||
sage: shell.run_cell('integral(x^2/pi^x, x)')
|
|
||||||
- / 2 2 \ -x*log(pi)
|
|
||||||
- -\x *log (pi) + 2*x*log(pi) + 2/*e
|
|
||||||
- ---------------------------------------------
|
|
||||||
- 3
|
|
||||||
- log (pi)
|
|
||||||
+ -x / 2 2 \
|
|
||||||
+ -pi *\x *log (pi) + 2*x*log(pi) + 2/
|
|
||||||
+ --------------------------------------
|
|
||||||
+ 3
|
|
||||||
+ log (pi)
|
|
||||||
sage: shell.run_cell("i = var('i')")
|
|
||||||
sage: shell.run_cell('sum(i*x^i, i, 0, 10)')
|
|
||||||
10 9 8 7 6 5 4 3 2
|
|
||||||
diff --git a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
|
|
||||||
index d8ebbf4f76..8c60f65e99 100644
|
|
||||||
--- a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
|
|
||||||
+++ b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
|
|
||||||
@@ -151,8 +151,8 @@ A multiple point example (Example 6.5 of [RaWi2012]_)::
|
|
||||||
[(x + 2*y - 1, 1), (2*x + y - 1, 1)])
|
|
||||||
sage: F1 = decomp[1]
|
|
||||||
sage: F1.asymptotics(p, alpha, 2)
|
|
||||||
- (-3*((2*a^2 - 5*a*b + 2*b^2)*r^2 + (a + b)*r + 3)*((1/3)^(-a)*(1/3)^(-b))^r,
|
|
||||||
- (1/3)^(-a)*(1/3)^(-b), -3*(2*a^2 - 5*a*b + 2*b^2)*r^2 - 3*(a + b)*r - 9)
|
|
||||||
+ (-3*((2*a^2 - 5*a*b + 2*b^2)*r^2 + (a + b)*r + 3)*(1/((1/3)^a*(1/3)^b))^r,
|
|
||||||
+ 1/((1/3)^a*(1/3)^b), -3*(2*a^2 - 5*a*b + 2*b^2)*r^2 - 3*(a + b)*r - 9)
|
|
||||||
sage: alpha = [4, 3]
|
|
||||||
sage: decomp = F.asymptotic_decomposition(alpha)
|
|
||||||
sage: F1 = decomp[1]
|
|
||||||
@@ -2159,7 +2159,7 @@ class FractionWithFactoredDenominator(RingElement):
|
|
||||||
sage: p = {x: 1/3, y: 1/3}
|
|
||||||
sage: alpha = (var('a'), var('b'))
|
|
||||||
sage: F.asymptotics_multiple(p, alpha, 2, var('r')) # long time
|
|
||||||
- (3*((1/3)^(-a)*(1/3)^(-b))^r*e^(2/3), (1/3)^(-a)*(1/3)^(-b), 3*e^(2/3))
|
|
||||||
+ (3*(1/((1/3)^a*(1/3)^b))^r*e^(2/3), 1/((1/3)^a*(1/3)^b), 3*e^(2/3))
|
|
||||||
"""
|
|
||||||
from itertools import product
|
|
||||||
from sage.calculus.functions import jacobian
|
|
||||||
diff --git a/src/sage/stats/basic_stats.py b/src/sage/stats/basic_stats.py
|
|
||||||
index 16a268a02c..5fd244e93b 100644
|
|
||||||
--- a/src/sage/stats/basic_stats.py
|
|
||||||
+++ b/src/sage/stats/basic_stats.py
|
|
||||||
@@ -183,7 +183,7 @@ def std(v, bias=False):
|
|
||||||
sage: std([])
|
|
||||||
NaN
|
|
||||||
sage: std([I, sqrt(2), 3/5])
|
|
||||||
- sqrt(1/450*(10*sqrt(2) - 5*I - 3)^2 + 1/450*(5*sqrt(2) - 10*I + 3)^2 + 1/450*(5*sqrt(2) + 5*I - 6)^2)
|
|
||||||
+ 1/15*sqrt(1/2)*sqrt((10*sqrt(2) - 5*I - 3)^2 + (5*sqrt(2) - 10*I + 3)^2 + (5*sqrt(2) + 5*I - 6)^2)
|
|
||||||
sage: std([RIF(1.0103, 1.0103), RIF(2)])
|
|
||||||
0.6998235813403261?
|
|
||||||
sage: import numpy
|
|
||||||
diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
|
|
||||||
index ab4c05de3a..60f0dc549a 100644
|
|
||||||
--- a/src/sage/symbolic/expression.pyx
|
|
||||||
+++ b/src/sage/symbolic/expression.pyx
|
|
||||||
@@ -622,7 +622,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: x^(-5)
|
|
||||||
x^(-5)
|
|
||||||
sage: x^(-y)
|
|
||||||
- x^(-y)
|
|
||||||
+ 1/(x^y)
|
|
||||||
sage: 2*x^(-1)
|
|
||||||
2/x
|
|
||||||
sage: i*x
|
|
||||||
@@ -3621,14 +3621,14 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: repl_dict = {b_0: b_0, b_3: b_1, b_2: b_3, b_1: b_2}
|
|
||||||
sage: P = precomp.substitute(repl_dict)
|
|
||||||
sage: P.expand()
|
|
||||||
- -2^(-b_0)*2^(-b_2)*2^b_3 - 2^b_0*2^(-b_2)*2^b_3 -
|
|
||||||
- 2^(-b_0)*2^b_2*2^b_3 + 2^b_0*2^b_2*2^b_3 - 2*2^(-b_0)*2^(-b_2)
|
|
||||||
- - 2*2^b_0*2^(-b_2) - 2*2^(-b_0)*2^b_2 + 2*2^b_0*2^b_2 +
|
|
||||||
- 2^(-b_0)*2^b_3 + 2^b_0*2^b_3 + 2^(-b_2)*2^b_3 + 2^b_2*2^b_3 +
|
|
||||||
- 2*2^(-b_0) + 2*2^b_0 + 2*2^(-b_2) + 2*2^b_2 - 9*2^b_3 -
|
|
||||||
- 2^(-b_0)*2^(-b_2)/2^b_3 - 2^b_0*2^(-b_2)/2^b_3 -
|
|
||||||
- 2^(-b_0)*2^b_2/2^b_3 + 2^b_0*2^b_2/2^b_3 + 2^(-b_0)/2^b_3 +
|
|
||||||
- 2^b_0/2^b_3 + 2^(-b_2)/2^b_3 + 2^b_2/2^b_3 - 9/2^b_3 - 18
|
|
||||||
+ 2^b_0*2^b_2*2^b_3 + 2*2^b_0*2^b_2 + 2^b_0*2^b_3 + 2^b_2*2^b_3 +
|
|
||||||
+ 2*2^b_0 + 2*2^b_2 - 9*2^b_3 + 2^b_0*2^b_2/2^b_3 -
|
|
||||||
+ 2^b_0*2^b_3/2^b_2 - 2^b_2*2^b_3/2^b_0 - 2*2^b_0/2^b_2 -
|
|
||||||
+ 2*2^b_2/2^b_0 + 2^b_0/2^b_3 + 2^b_2/2^b_3 + 2^b_3/2^b_0 +
|
|
||||||
+ 2^b_3/2^b_2 + 2/2^b_0 + 2/2^b_2 - 2^b_0/(2^b_2*2^b_3) -
|
|
||||||
+ 2^b_2/(2^b_0*2^b_3) - 9/2^b_3 - 2^b_3/(2^b_0*2^b_2) -
|
|
||||||
+ 2/(2^b_0*2^b_2) + 1/(2^b_0*2^b_3) + 1/(2^b_2*2^b_3) -
|
|
||||||
+ 1/(2^b_0*2^b_2*2^b_3) - 18
|
|
||||||
|
|
||||||
sage: _0,b_1,b_2=var('b_0,b_1,b_2')
|
|
||||||
sage: f = 1/27*b_2^2/(2^b_2)^2 + 1/27*b_1^2/(2^b_1)^2 + \
|
|
||||||
@@ -3809,7 +3809,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
|
|
||||||
sage: x = SR.symbol('x', domain='real')
|
|
||||||
sage: (x^3)^(1/3)
|
|
||||||
- (x^3)^(1/3)
|
|
||||||
+ x
|
|
||||||
sage: (x^4)^(1/4)
|
|
||||||
abs(x)
|
|
||||||
sage: (x^8)^(1/4)
|
|
||||||
@@ -3872,7 +3872,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: 2^(x/log(2))
|
|
||||||
e^x
|
|
||||||
sage: 2^(-x^2/2/log(2))
|
|
||||||
- e^(-1/2*x^2)
|
|
||||||
+ 1/e^(1/2*x^2)
|
|
||||||
sage: x^(x/log(x))
|
|
||||||
x^(x/log(x))
|
|
||||||
sage: assume(x > 0)
|
|
||||||
@@ -4816,18 +4816,24 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: ((x+y)^(x+y)).match(w0^w0)
|
|
||||||
{$0: x + y}
|
|
||||||
sage: t = ((a+b)*(a+c)).match((a+w0)*(a+w1))
|
|
||||||
- sage: t[w0], t[w1]
|
|
||||||
- (c, b)
|
|
||||||
+ sage: set([t[w0], t[w1]]) == set([b, c])
|
|
||||||
+ True
|
|
||||||
sage: ((a+b)*(a+c)).match((w0+b)*(w0+c))
|
|
||||||
{$0: a}
|
|
||||||
sage: t = ((a+b)*(a+c)).match((w0+w1)*(w0+w2))
|
|
||||||
- sage: t[w0], t[w1], t[w2]
|
|
||||||
- (a, c, b)
|
|
||||||
- sage: print(((a+b)*(a+c)).match((w0+w1)*(w1+w2)))
|
|
||||||
- None
|
|
||||||
+ sage: t[w0]
|
|
||||||
+ a
|
|
||||||
+ sage: set([t[w1], t[w2]]) == set([b, c])
|
|
||||||
+ True
|
|
||||||
+ sage: t = ((a+b)*(a+c)).match((w0+w1)*(w1+w2))
|
|
||||||
+ sage: t[w1]
|
|
||||||
+ a
|
|
||||||
+ sage: set([t[w0], t[w2]]) == set([b, c])
|
|
||||||
+ True
|
|
||||||
sage: t = (a*(x+y)+a*z+b).match(a*w0+w1)
|
|
||||||
- sage: t[w0], t[w1]
|
|
||||||
- (x + y, a*z + b)
|
|
||||||
+ sage: s = set([t[w0], t[w1]])
|
|
||||||
+ sage: s == set([x+y, a*z+b]) or s == set([z, a*(x+y)+b])
|
|
||||||
+ True
|
|
||||||
sage: print((a+b+c+d+f+g).match(c))
|
|
||||||
None
|
|
||||||
sage: (a+b+c+d+f+g).has(c)
|
|
||||||
@@ -4836,7 +4842,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
{$0: a + b + d + f + g}
|
|
||||||
sage: (a+b+c+d+f+g).match(c+g+w0)
|
|
||||||
{$0: a + b + d + f}
|
|
||||||
- sage: (a+b).match(a+b+w0)
|
|
||||||
+ sage: (a+b).match(a+b+w0) # known bug
|
|
||||||
{$0: 0}
|
|
||||||
sage: print((a*b^2).match(a^w0*b^w1))
|
|
||||||
None
|
|
||||||
@@ -5009,7 +5015,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
a^3 + b^3 + (x + y)^3
|
|
||||||
|
|
||||||
sage: t.subs(w0 == w0^2)
|
|
||||||
- (x^2 + y^2)^18 + a^16 + b^16
|
|
||||||
+ a^8 + b^8 + (x^2 + y^2)^6
|
|
||||||
|
|
||||||
sage: t.subs(a == b, b == c)
|
|
||||||
(x + y)^3 + b^2 + c^2
|
|
||||||
@@ -8392,9 +8398,13 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: SR(I).arctan2(1)
|
|
||||||
arctan2(I, 1)
|
|
||||||
sage: SR(CDF(0,1)).arctan2(1)
|
|
||||||
- NaN + +infinity*I
|
|
||||||
- sage: SR(1).arctan2(CDF(0,1)) # known bug
|
|
||||||
- 0.7853981633974484 - 19.012501686914433*I
|
|
||||||
+ Traceback (most recent call last):
|
|
||||||
+ ...
|
|
||||||
+ ValueError: power::eval(): division by zero
|
|
||||||
+ sage: SR(1).arctan2(CDF(0,1))
|
|
||||||
+ Traceback (most recent call last):
|
|
||||||
+ ...
|
|
||||||
+ ValueError: power::eval(): division by zero
|
|
||||||
|
|
||||||
sage: arctan2(0,oo)
|
|
||||||
0
|
|
||||||
@@ -8656,7 +8666,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
1/2*I*pi
|
|
||||||
sage: SR(1/2).arccosh()
|
|
||||||
arccosh(1/2)
|
|
||||||
- sage: SR(CDF(1/2)).arccosh() # rel tol 1e-15
|
|
||||||
+ sage: SR(CDF(1/2)).arccosh() # rel tol 1e-15
|
|
||||||
1.0471975511965976*I
|
|
||||||
sage: maxima('acosh(0.5)')
|
|
||||||
1.04719755119659...*%i
|
|
||||||
@@ -11687,7 +11697,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: a.solve(t)
|
|
||||||
[]
|
|
||||||
sage: b = a.canonicalize_radical(); b
|
|
||||||
- -23040.0*(-2.0*e^(1800*t) + 25.0*e^(900*t) - 32.0)*e^(-2400*t)
|
|
||||||
+ (46080.0*e^(1800*t) - 576000.0*e^(900*t) + 737280.0)*e^(-2400*t)
|
|
||||||
sage: b.solve(t)
|
|
||||||
[]
|
|
||||||
sage: b.solve(t, to_poly_solve=True)
|
|
||||||
@@ -12163,14 +12173,14 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
|
|
||||||
sage: (n,k,j)=var('n,k,j')
|
|
||||||
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
|
|
||||||
- -(-1)^(-j)*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
|
|
||||||
+ -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
|
|
||||||
sage: assume(j>-1)
|
|
||||||
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
|
|
||||||
1
|
|
||||||
sage: forget()
|
|
||||||
sage: assume(n>=j)
|
|
||||||
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
|
|
||||||
- -(-1)^(-j)*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
|
|
||||||
+ -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
|
|
||||||
sage: forget()
|
|
||||||
sage: assume(j==-1)
|
|
||||||
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
|
|
||||||
@@ -12178,7 +12188,7 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: forget()
|
|
||||||
sage: assume(j<-1)
|
|
||||||
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
|
|
||||||
- -(-1)^(-j)*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
|
|
||||||
+ -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
|
|
||||||
sage: forget()
|
|
||||||
|
|
||||||
Check that :trac:`16176` is fixed::
|
|
||||||
diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
|
|
||||||
index da6f0eef42..4bd65ef572 100644
|
|
||||||
--- a/src/sage/symbolic/relation.py
|
|
||||||
+++ b/src/sage/symbolic/relation.py
|
|
||||||
@@ -895,7 +895,7 @@ def solve(f, *args, **kwds):
|
|
||||||
sage: (r[0][x], r[0][y])
|
|
||||||
(2*lambert_w(1/2), 1)
|
|
||||||
sage: solve(-2*x**3 + 4*x**2 - 2*x + 6 > 0, x, algorithm='sympy')
|
|
||||||
- [x < (1/6*sqrt(77) + 79/54)^(1/3) + 1/9/(1/6*sqrt(77) + 79/54)^(1/3) + 2/3]
|
|
||||||
+ [x < 1/3*(1/2)^(1/3)*(9*sqrt(77) + 79)^(1/3) + 2/3*(1/2)^(2/3)/(9*sqrt(77) + 79)^(1/3) + 2/3]
|
|
||||||
sage: solve(sqrt(2*x^2 - 7) - (3 - x),x,algorithm='sympy')
|
|
||||||
[x == -8, x == 2]
|
|
||||||
sage: solve(sqrt(2*x + 9) - sqrt(x + 1) - sqrt(x + 4),x,algorithm='sympy')
|
|
@ -1,40 +0,0 @@
|
|||||||
diff --git a/src/sage/tests/py3_syntax.py b/src/sage/tests/py3_syntax.py
|
|
||||||
index e564860b48..86ab3725f9 100644
|
|
||||||
--- a/src/sage/tests/py3_syntax.py
|
|
||||||
+++ b/src/sage/tests/py3_syntax.py
|
|
||||||
@@ -179,15 +179,30 @@ class Python3SyntaxTest(SortedDirectoryWalkerABC):
|
|
||||||
sage: py3_syntax = Python3SyntaxTest()
|
|
||||||
sage: py3_syntax.test(src.name)
|
|
||||||
Invalid Python 3 syntax found:
|
|
||||||
- File "...py", line 1
|
|
||||||
- print "invalid print statement"
|
|
||||||
- ^
|
|
||||||
- SyntaxError: Missing parentheses in call to 'print'
|
|
||||||
+ Missing parentheses in call to 'print'...
|
|
||||||
sage: os.unlink(src.name)
|
|
||||||
"""
|
|
||||||
+
|
|
||||||
+ # compile all given files in memory, printing all errors
|
|
||||||
+ # inspired by the py_compile module (but without writing to file)
|
|
||||||
+ script = """
|
|
||||||
+import sys
|
|
||||||
+import importlib.machinery
|
|
||||||
+rv = 0
|
|
||||||
+for file in sys.argv[1:]:
|
|
||||||
+ loader = importlib.machinery.SourceFileLoader('<sage_test>', file)
|
|
||||||
+ source_bytes = loader.get_data(file)
|
|
||||||
+ try:
|
|
||||||
+ code = loader.source_to_code(source_bytes, file)
|
|
||||||
+ except Exception as err:
|
|
||||||
+ print(err)
|
|
||||||
+ rv = 1
|
|
||||||
+sys.exit(rv)
|
|
||||||
+"""
|
|
||||||
cmd = [
|
|
||||||
'python3',
|
|
||||||
- '-m', 'py_compile'
|
|
||||||
+ '-c',
|
|
||||||
+ script,
|
|
||||||
] + list(filenames)
|
|
||||||
process = subprocess.Popen(
|
|
||||||
cmd,
|
|
@ -1,31 +0,0 @@
|
|||||||
From 7419e0246230594ebfd5e7a2fe6b80d67abfc98a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jeroen Demeyer <jdemeyer@cage.ugent.be>
|
|
||||||
Date: Tue, 20 Mar 2018 10:40:41 +0100
|
|
||||||
Subject: Fix sphinxify doctests
|
|
||||||
|
|
||||||
---
|
|
||||||
sagenb/misc/sphinxify.py | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/sagenb/misc/sphinxify.py b/sagenb/misc/sphinxify.py
|
|
||||||
index 4f76d41..15623d9 100644
|
|
||||||
--- a/sagenb/misc/sphinxify.py
|
|
||||||
+++ b/sagenb/misc/sphinxify.py
|
|
||||||
@@ -47,11 +47,11 @@ def sphinxify(docstring, format='html'):
|
|
||||||
|
|
||||||
sage: from sage.misc.sphinxify import sphinxify
|
|
||||||
sage: sphinxify('A test')
|
|
||||||
- '...<div class="docstring">\n \n <p>A test</p>\n\n\n</div>'
|
|
||||||
+ '<div class="docstring">\n \n <p>A test</p>\n\n\n</div>'
|
|
||||||
sage: sphinxify('**Testing**\n`monospace`')
|
|
||||||
- '...<div class="docstring"...<strong>Testing</strong>\n<span class="math"...</p>\n\n\n</div>'
|
|
||||||
+ '<div class="docstring"...<strong>Testing</strong>\n<span class="math notranslate"...</p>\n\n\n</div>'
|
|
||||||
sage: sphinxify('`x=y`')
|
|
||||||
- '...<div class="docstring">\n \n <p><span class="math">x=y</span></p>\n\n\n</div>'
|
|
||||||
+ '<div class="docstring">\n \n <p><span class="math notranslate">x=y</span></p>\n\n\n</div>'
|
|
||||||
sage: sphinxify('`x=y`', format='text')
|
|
||||||
'x=y\n'
|
|
||||||
sage: sphinxify(':math:`x=y`', format='text')
|
|
||||||
--
|
|
||||||
cgit v1.0-1-gd88e
|
|
||||||
|
|
@ -0,0 +1,274 @@
|
|||||||
|
diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
|
||||||
|
index 9d65c9fa6c..a028bbe719 100644
|
||||||
|
--- a/src/sage/interfaces/singular.py
|
||||||
|
+++ b/src/sage/interfaces/singular.py
|
||||||
|
@@ -654,7 +654,7 @@ class Singular(ExtraTabCompletion, Expect):
|
||||||
|
|
||||||
|
s = Expect.eval(self, x, **kwds)
|
||||||
|
|
||||||
|
- if s.find("error") != -1 or s.find("Segment fault") != -1:
|
||||||
|
+ if s.find("error occurred") != -1 or s.find("Segment fault") != -1:
|
||||||
|
raise SingularError('Singular error:\n%s'%s)
|
||||||
|
|
||||||
|
if get_verbose() > 0:
|
||||||
|
@@ -1079,7 +1079,7 @@ class Singular(ExtraTabCompletion, Expect):
|
||||||
|
sage: S = singular.ring('real', '(a,b)', 'lp')
|
||||||
|
sage: singular.current_ring()
|
||||||
|
polynomial ring, over a field, global ordering
|
||||||
|
- // coefficients: float
|
||||||
|
+ // coefficients: Float()
|
||||||
|
// number of vars : 2
|
||||||
|
// block 1 : ordering lp
|
||||||
|
// : names a b
|
||||||
|
@@ -1157,7 +1157,7 @@ class Singular(ExtraTabCompletion, Expect):
|
||||||
|
sage: singular._tab_completion()
|
||||||
|
['exteriorPower',
|
||||||
|
...
|
||||||
|
- 'flintZ']
|
||||||
|
+ 'crossprod']
|
||||||
|
"""
|
||||||
|
p = re.compile("// *([a-z0-9A-Z_]*).*") #compiles regular expression
|
||||||
|
proclist = self.eval("listvar(proc)").splitlines()
|
||||||
|
@@ -1183,7 +1183,7 @@ class Singular(ExtraTabCompletion, Expect):
|
||||||
|
EXAMPLES::
|
||||||
|
|
||||||
|
sage: singular.version()
|
||||||
|
- "Singular ... version 4.1.0 ...
|
||||||
|
+ "Singular ... version 4...
|
||||||
|
"""
|
||||||
|
return singular_version()
|
||||||
|
|
||||||
|
@@ -1562,7 +1562,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
|
||||||
|
elif charstr[0] in ['0', 'QQ']:
|
||||||
|
from sage.all import QQ
|
||||||
|
br = QQ
|
||||||
|
- elif charstr[0]=='real':
|
||||||
|
+ elif charstr[0].startswith('Float'):
|
||||||
|
from sage.all import RealField, ceil, log
|
||||||
|
prec = singular.eval('ringlist(basering)[1][2][1]')
|
||||||
|
br = RealField(ceil((ZZ(prec)+1)/log(2,10)))
|
||||||
|
@@ -1750,7 +1750,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
|
||||||
|
|
||||||
|
# Singular 4 puts parentheses around floats and sign outside them
|
||||||
|
charstr = self.parent().eval('charstr(basering)').split(',',1)
|
||||||
|
- if charstr[0] in ['real', 'complex']:
|
||||||
|
+ if charstr[0]=='complex' or charstr[0].startswith('Float'):
|
||||||
|
for i in range(coeff_start, 2 * coeff_start):
|
||||||
|
singular_poly_list[i] = singular_poly_list[i].replace('(','').replace(')','')
|
||||||
|
|
||||||
|
@@ -1992,7 +1992,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
|
||||||
|
sage: S = singular.ring('real', '(a,b)', 'lp')
|
||||||
|
sage: singular.current_ring()
|
||||||
|
polynomial ring, over a field, global ordering
|
||||||
|
- // coefficients: float
|
||||||
|
+ // coefficients: Float()
|
||||||
|
// number of vars : 2
|
||||||
|
// block 1 : ordering lp
|
||||||
|
// : names a b
|
||||||
|
@@ -2072,7 +2072,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
|
||||||
|
sage: R._tab_completion()
|
||||||
|
['exteriorPower',
|
||||||
|
...
|
||||||
|
- 'flintZ']
|
||||||
|
+ 'crossprod']
|
||||||
|
"""
|
||||||
|
return self.parent()._tab_completion()
|
||||||
|
|
||||||
|
@@ -2358,7 +2358,7 @@ def singular_version():
|
||||||
|
EXAMPLES::
|
||||||
|
|
||||||
|
sage: singular.version()
|
||||||
|
- "Singular ... version 4.1.0 ...
|
||||||
|
+ "Singular ... version 4...
|
||||||
|
"""
|
||||||
|
return singular.eval('system("--version");')
|
||||||
|
|
||||||
|
diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd
|
||||||
|
index 4b658c4807..d863740419 100644
|
||||||
|
--- a/src/sage/libs/singular/decl.pxd
|
||||||
|
+++ b/src/sage/libs/singular/decl.pxd
|
||||||
|
@@ -170,7 +170,7 @@ cdef extern from "singular/Singular/libsingular.h":
|
||||||
|
|
||||||
|
int n_NumberOfParameters(const n_Procs_s* r)
|
||||||
|
|
||||||
|
- ctypedef struct poly "polyrec":
|
||||||
|
+ ctypedef struct poly "spolyrec":
|
||||||
|
poly *next
|
||||||
|
number *coef
|
||||||
|
unsigned long exp[1]
|
||||||
|
@@ -630,9 +630,13 @@ cdef extern from "singular/Singular/libsingular.h":
|
||||||
|
# return p*q, destroys p and q
|
||||||
|
poly *p_Mult_q(poly *p, poly *q, ring *r)
|
||||||
|
|
||||||
|
+ # polynomial division, ignoring the rest
|
||||||
|
+ # via singclap_pdivide resp. idLift, destroys p,q
|
||||||
|
+ poly *p_Divide(poly *p, poly *q, ring *r)
|
||||||
|
+
|
||||||
|
# divide monomial p by monomial q, p,q const
|
||||||
|
|
||||||
|
- poly *pDivide(poly *p,poly *q)
|
||||||
|
+ poly *pMDivide(poly *p,poly *q)
|
||||||
|
|
||||||
|
# return the i-th power of p; p destroyed, requires global ring
|
||||||
|
|
||||||
|
diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
|
||||||
|
index 2a8d9ae021..aeff53af6c 100644
|
||||||
|
--- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
|
||||||
|
+++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
|
||||||
|
@@ -190,8 +190,8 @@ from sage.libs.singular.decl cimport (
|
||||||
|
n_IsUnit, n_Invers,
|
||||||
|
p_ISet, rChangeCurrRing, p_Copy, p_Init, p_SetCoeff, p_Setm, p_SetExp, p_Add_q,
|
||||||
|
p_NSet, p_GetCoeff, p_Delete, p_GetExp, pNext, rRingVar, omAlloc0, omStrDup,
|
||||||
|
- omFree, pDivide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
|
||||||
|
- pDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
|
||||||
|
+ omFree, pMDivide, p_Divide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
|
||||||
|
+ pMDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
|
||||||
|
p_IsUnit, p_Series, p_Head, idInit, fast_map_common_subexp, id_Delete,
|
||||||
|
p_IsHomogeneous, p_Homogen, p_Totaldegree,pLDeg1_Totaldegree, singclap_pdivide, singclap_factorize,
|
||||||
|
idLift, IDELEMS, On, Off, SW_USE_CHINREM_GCD, SW_USE_EZGCD,
|
||||||
|
@@ -1693,8 +1693,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
|
||||||
|
if not g._poly:
|
||||||
|
raise ZeroDivisionError
|
||||||
|
|
||||||
|
- if r!=currRing: rChangeCurrRing(r) # pDivide
|
||||||
|
- res = pDivide(f._poly, g._poly)
|
||||||
|
+ if r!=currRing: rChangeCurrRing(r) # pMDivide
|
||||||
|
+ res = pMDivide(f._poly, g._poly)
|
||||||
|
if coeff:
|
||||||
|
if r.cf.type == n_unknown or r.cf.cfDivBy(p_GetCoeff(f._poly, r), p_GetCoeff(g._poly, r), r.cf):
|
||||||
|
n = r.cf.cfDiv( p_GetCoeff(f._poly, r) , p_GetCoeff(g._poly, r), r.cf)
|
||||||
|
@@ -1853,8 +1853,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
|
||||||
|
and (<MPolynomial_libsingular>g) \
|
||||||
|
and g.parent() is self \
|
||||||
|
and p_LmDivisibleBy((<MPolynomial_libsingular>g)._poly, m, r):
|
||||||
|
- if r!=currRing: rChangeCurrRing(r) # pDivide
|
||||||
|
- flt = pDivide(f._poly, (<MPolynomial_libsingular>g)._poly)
|
||||||
|
+ if r!=currRing: rChangeCurrRing(r) # pMDivide
|
||||||
|
+ flt = pMDivide(f._poly, (<MPolynomial_libsingular>g)._poly)
|
||||||
|
#p_SetCoeff(flt, n_Div( p_GetCoeff(f._poly, r) , p_GetCoeff((<MPolynomial_libsingular>g)._poly, r), r), r)
|
||||||
|
p_SetCoeff(flt, n_Init(1, r), r)
|
||||||
|
return new_MP(self,flt), g
|
||||||
|
@@ -4023,16 +4023,6 @@ cdef class MPolynomial_libsingular(MPolynomial):
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
NotImplementedError: Division of multivariate polynomials over non fields by non-monomials not implemented.
|
||||||
|
-
|
||||||
|
- TESTS::
|
||||||
|
-
|
||||||
|
- sage: P.<x,y> = ZZ[]
|
||||||
|
- sage: p = 3*(-x^8*y^2 - x*y^9 + 6*x^8*y + 17*x^2*y^6 - x^3*y^2)
|
||||||
|
- sage: q = 7*(x^2 + x*y + y^2 + 1)
|
||||||
|
- sage: p*q//q == p
|
||||||
|
- True
|
||||||
|
- sage: p*q//p == q
|
||||||
|
- True
|
||||||
|
"""
|
||||||
|
cdef MPolynomialRing_libsingular parent = self._parent
|
||||||
|
cdef ring *r = self._parent_ring
|
||||||
|
@@ -4052,13 +4042,18 @@ cdef class MPolynomial_libsingular(MPolynomial):
|
||||||
|
_right = <MPolynomial_libsingular>right
|
||||||
|
|
||||||
|
if r.cf.type != n_unknown:
|
||||||
|
+ if r.cf.type == n_Z:
|
||||||
|
+ P = parent.change_ring(RationalField())
|
||||||
|
+ f = P(self)//P(right)
|
||||||
|
+ CM = list(f)
|
||||||
|
+ return parent(sum([c.floor()*m for c,m in CM]))
|
||||||
|
if _right.is_monomial():
|
||||||
|
p = _self._poly
|
||||||
|
quo = p_ISet(0,r)
|
||||||
|
- if r != currRing: rChangeCurrRing(r) # pDivide
|
||||||
|
+ if r != currRing: rChangeCurrRing(r) # pMDivide
|
||||||
|
while p:
|
||||||
|
if p_DivisibleBy(_right._poly, p, r):
|
||||||
|
- temp = pDivide(p, _right._poly)
|
||||||
|
+ temp = pMDivide(p, _right._poly)
|
||||||
|
p_SetCoeff0(temp, n_Copy(p_GetCoeff(p, r), r), r)
|
||||||
|
quo = p_Add_q(quo, temp, r)
|
||||||
|
p = pNext(p)
|
||||||
|
@@ -4794,6 +4789,8 @@ cdef class MPolynomial_libsingular(MPolynomial):
|
||||||
|
sage: p = -x*y + x*z + 54*x - 2
|
||||||
|
sage: (5*p^2).lcm(3*p) == 15*p^2
|
||||||
|
True
|
||||||
|
+ sage: lcm(2*x,2*x*y)
|
||||||
|
+ 2*x*y
|
||||||
|
"""
|
||||||
|
cdef ring *_ring = self._parent_ring
|
||||||
|
cdef poly *ret
|
||||||
|
@@ -4821,9 +4818,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
|
||||||
|
if _ring!=currRing: rChangeCurrRing(_ring) # singclap_gcd
|
||||||
|
gcd = singclap_gcd(p_Copy(self._poly, _ring), p_Copy(_g._poly, _ring), _ring )
|
||||||
|
prod = pp_Mult_qq(self._poly, _g._poly, _ring)
|
||||||
|
- ret = singclap_pdivide(prod , gcd , _ring)
|
||||||
|
- p_Delete(&prod, _ring)
|
||||||
|
- p_Delete(&gcd, _ring)
|
||||||
|
+ ret = p_Divide(prod, gcd, _ring)
|
||||||
|
if count >= 20:
|
||||||
|
sig_off()
|
||||||
|
return new_MP(self._parent, ret)
|
||||||
|
@@ -4866,7 +4861,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
|
||||||
|
sage: f.quo_rem(y)
|
||||||
|
(2*x^2, x + 1)
|
||||||
|
sage: f.quo_rem(3*x)
|
||||||
|
- (2*x*y + 1, -4*x^2*y - 2*x + 1)
|
||||||
|
+ (0, 2*x^2*y + x + 1)
|
||||||
|
|
||||||
|
TESTS::
|
||||||
|
|
||||||
|
@@ -4888,7 +4883,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
|
||||||
|
if right.is_zero():
|
||||||
|
raise ZeroDivisionError
|
||||||
|
|
||||||
|
- if not self._parent._base.is_field() and not is_IntegerRing(self._parent._base):
|
||||||
|
+ if not self._parent._base.is_field():
|
||||||
|
py_quo = self//right
|
||||||
|
py_rem = self - right*py_quo
|
||||||
|
return py_quo, py_rem
|
||||||
|
diff --git a/src/sage/rings/polynomial/plural.pyx b/src/sage/rings/polynomial/plural.pyx
|
||||||
|
index d5439f7f08..ad20ebcca0 100644
|
||||||
|
--- a/src/sage/rings/polynomial/plural.pyx
|
||||||
|
+++ b/src/sage/rings/polynomial/plural.pyx
|
||||||
|
@@ -998,7 +998,7 @@ cdef class NCPolynomialRing_plural(Ring):
|
||||||
|
if not g._poly:
|
||||||
|
raise ZeroDivisionError
|
||||||
|
|
||||||
|
- res = pDivide(f._poly,g._poly)
|
||||||
|
+ res = pMDivide(f._poly,g._poly)
|
||||||
|
if coeff:
|
||||||
|
if (r.cf.type == n_unknown) or r.cf.cfDivBy(p_GetCoeff(f._poly, r), p_GetCoeff(g._poly, r), r.cf):
|
||||||
|
n = r.cf.cfDiv( p_GetCoeff(f._poly, r) , p_GetCoeff(g._poly, r), r.cf)
|
||||||
|
@@ -1193,7 +1193,7 @@ cdef class NCPolynomialRing_plural(Ring):
|
||||||
|
if isinstance(g, NCPolynomial_plural) \
|
||||||
|
and (<NCPolynomial_plural>g) \
|
||||||
|
and p_LmDivisibleBy((<NCPolynomial_plural>g)._poly, m, r):
|
||||||
|
- flt = pDivide(f._poly, (<NCPolynomial_plural>g)._poly)
|
||||||
|
+ flt = pMDivide(f._poly, (<NCPolynomial_plural>g)._poly)
|
||||||
|
#p_SetCoeff(flt, n_Div( p_GetCoeff(f._poly, r) , p_GetCoeff((<NCPolynomial_plural>g)._poly, r), r), r)
|
||||||
|
p_SetCoeff(flt, n_Init(1, r), r)
|
||||||
|
return new_NCP(self,flt), g
|
||||||
|
diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
|
||||||
|
index 9331169f8b..f753610fd3 100644
|
||||||
|
--- a/src/sage/rings/polynomial/polynomial_singular_interface.py
|
||||||
|
+++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
|
||||||
|
@@ -81,8 +81,8 @@ class PolynomialRing_singular_repr:
|
||||||
|
sage: R.<x,y> = PolynomialRing(CC)
|
||||||
|
sage: singular(R)
|
||||||
|
polynomial ring, over a field, global ordering
|
||||||
|
- // coefficients: float[I](complex:15 digits, additional 0 digits)/(I^2+1)
|
||||||
|
- // number of vars : 2
|
||||||
|
+ // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)
|
||||||
|
+ // number of vars : 2
|
||||||
|
// block 1 : ordering dp
|
||||||
|
// : names x y
|
||||||
|
// block 2 : ordering C
|
||||||
|
@@ -90,8 +90,8 @@ class PolynomialRing_singular_repr:
|
||||||
|
sage: R.<x,y> = PolynomialRing(RealField(100))
|
||||||
|
sage: singular(R)
|
||||||
|
polynomial ring, over a field, global ordering
|
||||||
|
- // coefficients: float
|
||||||
|
- // number of vars : 2
|
||||||
|
+ // coefficients: Float()
|
||||||
|
+ // number of vars : 2
|
||||||
|
// block 1 : ordering dp
|
||||||
|
// : names x y
|
||||||
|
// block 2 : ordering C
|
@ -1,62 +0,0 @@
|
|||||||
diff --git a/src/bin/sage b/src/bin/sage
|
|
||||||
index 397f30cbed..3fc473c343 100755
|
|
||||||
--- a/src/bin/sage
|
|
||||||
+++ b/src/bin/sage
|
|
||||||
@@ -980,8 +980,11 @@ if [ "$1" = '-rsyncdist' -o "$1" = "--rsyncdist" ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "-docbuild" -o "$1" = "--docbuild" ]; then
|
|
||||||
+ # Redirect stdin from /dev/null. This helps with running TeX which
|
|
||||||
+ # tends to ask interactive questions if something goes wrong. These
|
|
||||||
+ # cause the build to hang. If stdin is /dev/null, TeX just aborts.
|
|
||||||
shift
|
|
||||||
- exec sage-python23 -m "sage_setup.docbuild" "$@"
|
|
||||||
+ exec sage-python23 -m sage_setup.docbuild "$@" </dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then
|
|
||||||
diff --git a/src/doc/common/conf.py b/src/doc/common/conf.py
|
|
||||||
index 25f94f7b7d..3f07474d9b 100644
|
|
||||||
--- a/src/doc/common/conf.py
|
|
||||||
+++ b/src/doc/common/conf.py
|
|
||||||
@@ -627,7 +627,7 @@ def call_intersphinx(app, env, node, contnode):
|
|
||||||
sage: for line in open(thematic_index).readlines():
|
|
||||||
....: if "padics" in line:
|
|
||||||
....: sys.stdout.write(line)
|
|
||||||
- <li><a class="reference external" href="../reference/padics/sage/rings/padics/tutorial.html#sage-rings-padics-tutorial" title="(in Sage Reference Manual: p-Adics ...)"><span>Introduction to the -adics</span></a></li>
|
|
||||||
+ <li><a class="reference external" href="../reference/padics/sage/rings/padics/tutorial.html#sage-rings-padics-tutorial" title="(in Sage Reference Manual: p-Adics v...)"><span>Introduction to the -adics</span></a></li>
|
|
||||||
"""
|
|
||||||
debug_inf(app, "???? Trying intersphinx for %s"%node['reftarget'])
|
|
||||||
builder = app.builder
|
|
||||||
diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py
|
|
||||||
index 4f76d4113a..8f426b5989 100644
|
|
||||||
--- a/src/sage/misc/sphinxify.py
|
|
||||||
+++ b/src/sage/misc/sphinxify.py
|
|
||||||
@@ -47,11 +47,11 @@ def sphinxify(docstring, format='html'):
|
|
||||||
|
|
||||||
sage: from sage.misc.sphinxify import sphinxify
|
|
||||||
sage: sphinxify('A test')
|
|
||||||
- '...<div class="docstring">\n \n <p>A test</p>\n\n\n</div>'
|
|
||||||
+ '<div class="docstring">\n \n <p>A test</p>\n\n\n</div>'
|
|
||||||
sage: sphinxify('**Testing**\n`monospace`')
|
|
||||||
- '...<div class="docstring"...<strong>Testing</strong>\n<span class="math"...</p>\n\n\n</div>'
|
|
||||||
+ '<div class="docstring"...<strong>Testing</strong>\n<span class="math...</p>\n\n\n</div>'
|
|
||||||
sage: sphinxify('`x=y`')
|
|
||||||
- '...<div class="docstring">\n \n <p><span class="math">x=y</span></p>\n\n\n</div>'
|
|
||||||
+ '<div class="docstring">\n \n <p><span class="math notranslate nohighlight">x=y</span></p>\n\n\n</div>'
|
|
||||||
sage: sphinxify('`x=y`', format='text')
|
|
||||||
'x=y\n'
|
|
||||||
sage: sphinxify(':math:`x=y`', format='text')
|
|
||||||
diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py
|
|
||||||
index fda76a4174..d3413239dd 100644
|
|
||||||
--- a/src/sage_setup/docbuild/sphinxbuild.py
|
|
||||||
+++ b/src/sage_setup/docbuild/sphinxbuild.py
|
|
||||||
@@ -207,7 +207,7 @@ def runsphinx():
|
|
||||||
try:
|
|
||||||
sys.stdout = SageSphinxLogger(sys.stdout, os.path.basename(output_dir))
|
|
||||||
sys.stderr = SageSphinxLogger(sys.stderr, os.path.basename(output_dir))
|
|
||||||
- sphinx.cmdline.main(sys.argv)
|
|
||||||
+ sphinx.cmdline.main(sys.argv[1:])
|
|
||||||
finally:
|
|
||||||
sys.stdout = saved_stdout
|
|
||||||
sys.stderr = saved_stderr
|
|
@ -0,0 +1,46 @@
|
|||||||
|
commit f02714d4aea80e17cb8df62bab75d7c1a1b61a8e
|
||||||
|
Author: Timo Kaufmann <timokau@zoho.com>
|
||||||
|
Date: Mon Jul 9 18:26:18 2018 +0200
|
||||||
|
|
||||||
|
Don't attempt to create dirs when showing pkg info
|
||||||
|
|
||||||
|
The script dir cannot be assumed to be writeable after installation.
|
||||||
|
|
||||||
|
diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg
|
||||||
|
index f3e02aeae5..190d558ad1 100755
|
||||||
|
--- a/build/bin/sage-spkg
|
||||||
|
+++ b/build/bin/sage-spkg
|
||||||
|
@@ -167,14 +167,6 @@ if [ -z "$SAGE_BUILD_DIR" ]; then
|
||||||
|
export SAGE_BUILD_DIR="$SAGE_LOCAL/var/tmp/sage/build"
|
||||||
|
fi
|
||||||
|
|
||||||
|
-for dir in "$SAGE_SPKG_INST" "$SAGE_SPKG_SCRIPTS"; do
|
||||||
|
- mkdir -p "$dir"
|
||||||
|
- if [ $? -ne 0 ]; then
|
||||||
|
- error_msg "Error creating directory $dir"
|
||||||
|
- exit 1
|
||||||
|
- fi
|
||||||
|
-done
|
||||||
|
-
|
||||||
|
|
||||||
|
# Remove '.' from PYTHONPATH, which may also come from SAGE_PATH, to avoid
|
||||||
|
# trouble with setuptools / easy_install (cf. #10192, #10176):
|
||||||
|
@@ -563,11 +555,13 @@ fi
|
||||||
|
# Setup directories
|
||||||
|
##################################################################
|
||||||
|
|
||||||
|
-mkdir -p "$SAGE_BUILD_DIR"
|
||||||
|
-if [ $? -ne 0 ]; then
|
||||||
|
- error_msg "Error creating directory $SAGE_BUILD_DIR"
|
||||||
|
- exit 1
|
||||||
|
-fi
|
||||||
|
+for dir in "$SAGE_SPKG_INST" "$SAGE_SPKG_SCRIPTS" "$SAGE_BUILD_DIR"; do
|
||||||
|
+ mkdir -p "$dir"
|
||||||
|
+ if [ $? -ne 0 ]; then
|
||||||
|
+ error_msg "Error creating directory $dir"
|
||||||
|
+ exit 1
|
||||||
|
+ fi
|
||||||
|
+done
|
||||||
|
|
||||||
|
# Trac #5852: check write permissions
|
||||||
|
if [ ! -w "$SAGE_BUILD_DIR" ]; then
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
|
|
||||||
index 7ff4f21675..1d72168833 100644
|
|
||||||
--- a/src/sage/misc/package.py
|
|
||||||
+++ b/src/sage/misc/package.py
|
|
||||||
@@ -350,7 +350,7 @@ def package_versions(package_type, local=False):
|
|
||||||
sage: 'gap' in std
|
|
||||||
True
|
|
||||||
sage: std['zn_poly']
|
|
||||||
- ('0.9.p11', '0.9.p11')
|
|
||||||
+ ('0.9', '0.9.p11')
|
|
||||||
"""
|
|
||||||
return {pkg['name']: (pkg['installed_version'], pkg['remote_version']) for pkg in list_packages(package_type, local=local).values()}
|
|
||||||
|
|
@ -3,17 +3,20 @@
|
|||||||
, fetchpatch
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "8.2";
|
version = "8.3";
|
||||||
name = "sage-src-${version}";
|
name = "sage-src-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sagemath";
|
owner = "sagemath";
|
||||||
repo = "sage";
|
repo = "sage";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0d7vc16s7dj23an2cb8v5bhbnc6nsw20qhnnxr0xh8qg629027b8";
|
sha256 = "0mbm99m5xry21xpi4q3q96gx392liwbifywf5awvl0j85a7rkfyx";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixPatches = [
|
nixPatches = [
|
||||||
|
# https://trac.sagemath.org/ticket/25809
|
||||||
|
./patches/spkg-scripts.patch
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25309
|
# https://trac.sagemath.org/ticket/25309
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "spkg-paths.patch";
|
name = "spkg-paths.patch";
|
||||||
@ -26,14 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "14s50yg3hpw9cp3v581dx7zfmpm2j972im7x30iwki8k45mjvk3i";
|
sha256 = "14s50yg3hpw9cp3v581dx7zfmpm2j972im7x30iwki8k45mjvk3i";
|
||||||
})
|
})
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25328
|
|
||||||
# https://trac.sagemath.org/ticket/25546
|
|
||||||
# https://trac.sagemath.org/ticket/25722
|
# https://trac.sagemath.org/ticket/25722
|
||||||
(fetchpatch {
|
|
||||||
name = "install-jupyter-kernel-in-correct-prefix.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch?id=72167b98e3f64326df6b2c78785df25539472fcc";
|
|
||||||
sha256 = "0pscnjhm7r2yr2rxnv4kkkq626vwaja720lixa3m3w9rwlxll5a7";
|
|
||||||
})
|
|
||||||
./patches/test-in-tmpdir.patch
|
./patches/test-in-tmpdir.patch
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25358
|
# https://trac.sagemath.org/ticket/25358
|
||||||
@ -43,27 +39,13 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1hhannz7xzprijakn2w2d0rhd5zv2zikik9p51i87bas3nc658f7";
|
sha256 = "1hhannz7xzprijakn2w2d0rhd5zv2zikik9p51i87bas3nc658f7";
|
||||||
})
|
})
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25357 rebased on 8.2
|
# Unfortunately inclusion in upstream sage was rejected. Instead the bug was
|
||||||
./patches/python3-syntax-without-write.patch
|
# fixed in python, but of course not backported to 2.7. So we'll probably
|
||||||
|
# have to keep this around until 2.7 is deprecated.
|
||||||
# https://trac.sagemath.org/ticket/25314
|
|
||||||
(fetchpatch {
|
|
||||||
name = "make-qepcad-test-optional.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch/?h=fe294c58bd035ef427e268901d54a6faa0058138";
|
|
||||||
sha256 = "003d5baf5c0n5rfg010ijwkwz8kg0s414cxwczs2vhdayxdixbix";
|
|
||||||
})
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25316
|
# https://trac.sagemath.org/ticket/25316
|
||||||
|
# https://github.com/python/cpython/pull/7476
|
||||||
./patches/python-5755-hotpatch.patch
|
./patches/python-5755-hotpatch.patch
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25354
|
|
||||||
# https://trac.sagemath.org/ticket/25531
|
|
||||||
(fetchpatch {
|
|
||||||
name = "cysignals-include.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch/?h=28778bd25a37c80884d2b24e0683fb2989300cef";
|
|
||||||
sha256 = "0fiiiw91pgs8avm9ggj8hb64bhqzl6jcw094d94nhirmh8w2jmc5";
|
|
||||||
})
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25315
|
# https://trac.sagemath.org/ticket/25315
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "find-libraries-in-dyld-library-path.patch";
|
name = "find-libraries-in-dyld-library-path.patch";
|
||||||
@ -71,16 +53,13 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1k3afq3qlzmgqwx6rzs5wv153vv9dsf5rk8pi61g57l3r3npbjmc";
|
sha256 = "1k3afq3qlzmgqwx6rzs5wv153vv9dsf5rk8pi61g57l3r3npbjmc";
|
||||||
})
|
})
|
||||||
|
|
||||||
# Pari upstream has since accepted a patch, so this patch won't be necessary once sage updates pari.
|
|
||||||
# https://trac.sagemath.org/ticket/25312
|
|
||||||
./patches/pari-stackwarn.patch
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25311
|
|
||||||
./patches/zn_poly_version.patch
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25345
|
# https://trac.sagemath.org/ticket/25345
|
||||||
# (upstream patch doesn't apply on 8.2 source)
|
# (upstream patch doesn't apply on 8.2 source)
|
||||||
./patches/dochtml-optional.patch
|
./patches/dochtml-optional.patch
|
||||||
|
|
||||||
|
# work with pari with threads enabled at compile time (disable them at runtime)
|
||||||
|
# https://trac.sagemath.org/ticket/26002
|
||||||
|
./patches/pari-no-threads.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
packageUpgradePatches = [
|
packageUpgradePatches = [
|
||||||
@ -106,87 +85,55 @@ stdenv.mkDerivation rec {
|
|||||||
# the last version.
|
# the last version.
|
||||||
./patches/eclib-regulator-precision.patch
|
./patches/eclib-regulator-precision.patch
|
||||||
|
|
||||||
# sphinx 1.6 -> 1.7 upgrade
|
|
||||||
# https://trac.sagemath.org/ticket/24935
|
|
||||||
./patches/sphinx-1.7.patch
|
|
||||||
|
|
||||||
# Adapt hashes to new boost version
|
|
||||||
# https://trac.sagemath.org/ticket/22243
|
|
||||||
# (this ticket doesn't only upgrade boost but also avoids this problem in the future)
|
|
||||||
(fetchpatch {
|
|
||||||
name = "boost-upgrade.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch?id=a24a9c6b30b93957333a3116196214a931325b69";
|
|
||||||
sha256 = "0z3870g2ms2a81vnw08dc2i4k7jr62w8fggvcdwaavgd1wvdxwfl";
|
|
||||||
})
|
|
||||||
|
|
||||||
# gfan 0.6.2
|
|
||||||
# https://trac.sagemath.org/ticket/23353
|
|
||||||
(fetchpatch {
|
|
||||||
name = "gfan-update.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch/?h=420215fc469cde733ec7a339e59b78ad6eec804c&id=112498a293ea2bf563e41aed35f1aa608f01b349";
|
|
||||||
sha256 = "0ga3hkx8cr23dpc919lgvpi5lmy0d728jkq9z6kf0fl9s8g31mxb";
|
|
||||||
})
|
|
||||||
|
|
||||||
# New glpk version has new warnings, filter those out until upstream sage has found a solution
|
# New glpk version has new warnings, filter those out until upstream sage has found a solution
|
||||||
# https://trac.sagemath.org/ticket/24824
|
# https://trac.sagemath.org/ticket/24824
|
||||||
|
./patches/pari-stackwarn.patch # not actually necessary since tha pari upgrade, but necessary for the glpk patch to apply
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch";
|
url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch";
|
||||||
sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp";
|
sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp";
|
||||||
stripLen = 1;
|
stripLen = 1;
|
||||||
})
|
})
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25329
|
|
||||||
(fetchpatch {
|
|
||||||
name = "dont-check-exact-glpk-version.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch?id2=8bdc326ba57d1bb9664f63cf165a9e9920cc1afc&id=89d068d8d77316bfffa6bf8e9ebf70b3b3b88e5c";
|
|
||||||
sha256 = "00knwxs6fmymfgfl0q5kcavmxm9sf90a4r76y35n5s55gj8pl918";
|
|
||||||
})
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25355
|
|
||||||
(fetchpatch {
|
|
||||||
name = "maxima-5.41.0.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch/?id=87328023c4739abdf24108038201e3fa9bdfc739";
|
|
||||||
sha256 = "0hxi7qr5mfx1bc32r8j7iba4gzd7c6v63asylyf5cbyp86azpb7i";
|
|
||||||
})
|
|
||||||
|
|
||||||
# Update cddlib from 0.94g to 0.94h.
|
|
||||||
# https://trac.sagemath.org/ticket/25341 (doesn't apply to 8.2 sources)
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/u2-version-cddlib-094h.patch";
|
|
||||||
sha256 = "0fmw7pzbaxs2dshky6iw9pr8i23p9ih2y2lw661qypdrxh5xw03k";
|
|
||||||
stripLen = 1;
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "revert-cddlib-doctest-changes.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/patch/?id=269c1e1551285566b8ba7a2b890989e5590e9f11";
|
|
||||||
sha256 = "12bcjhq7hm2pmmj2bgjvcffjyls2x7q61ivlnaj5v5bsvhc183iy";
|
|
||||||
revert = true;
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
# Only formatting changes.
|
# Only formatting changes.
|
||||||
# https://trac.sagemath.org/ticket/25260
|
# https://trac.sagemath.org/ticket/25260
|
||||||
./patches/numpy-1.14.3.patch
|
./patches/numpy-1.14.3.patch
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/24374
|
|
||||||
(fetchpatch {
|
|
||||||
name = "networkx-2.1.patch";
|
|
||||||
url = "https://salsa.debian.org/science-team/sagemath/raw/487df9ae48ca1d93d9b1cb3af8745d31e30fb741/debian/patches/u0-version-networkx-2.1.patch";
|
|
||||||
sha256 = "1xxxawygbgxgvlv7b4w8hhzgdnva4rhmgdxaiaa3pwdwln0yc750";
|
|
||||||
stripLen = 1;
|
|
||||||
})
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/24927 rebased
|
|
||||||
./patches/arb-2.13.0.patch
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/24838 rebased
|
|
||||||
./patches/pynac-0.7.22.patch
|
|
||||||
|
|
||||||
# https://trac.sagemath.org/ticket/25862
|
# https://trac.sagemath.org/ticket/25862
|
||||||
./patches/eclib-20180710.patch
|
./patches/eclib-20180710.patch
|
||||||
|
|
||||||
|
# https://trac.sagemath.org/ticket/24735
|
||||||
|
./patches/singular-4.1.1p2.patch
|
||||||
|
|
||||||
|
# https://trac.sagemath.org/ticket/25567 and dependency #25635
|
||||||
|
(fetchpatch {
|
||||||
|
name = "pari-upgrade-dependency.patch";
|
||||||
|
url = "https://git.sagemath.org/sage.git/patch/?id=6995e7cae1b3476ad0145f8dfc897cf91f0c3c4d";
|
||||||
|
sha256 = "1dvhabl1c9pwd9xkjvbjjg15mvb14b24p1f3cby1mlqk34d4lrs6";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "pari-2.11.0.patch";
|
||||||
|
url = "https://git.sagemath.org/sage.git/patch/?id=7af4748cab37d651eaa88be501db88f4a5ffc584";
|
||||||
|
sha256 = "13f740ly3c19gcmhjngiycvmc3mcfj61y00i6jv0wmfgpm2z3ank";
|
||||||
|
})
|
||||||
|
|
||||||
|
# ntl upgrade
|
||||||
|
(fetchpatch {
|
||||||
|
name = "lcalc-c++11.patch";
|
||||||
|
url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sagemath-lcalc-c++11.patch?h=packages/sagemath&id=0e31ae526ab7c6b5c0bfacb3f8b1c4fd490035aa";
|
||||||
|
sha256 = "0p5wnvbx65i7cp0bjyaqgp4rly8xgnk12pqwaq3dqby0j2bk6ijb";
|
||||||
|
})
|
||||||
|
|
||||||
|
# cddlib 0.94i -> 0.94j
|
||||||
|
(fetchpatch {
|
||||||
|
name = "cddlib-0.94j.patch";
|
||||||
|
url = "https://git.sagemath.org/sage.git/patch/?id=2ab1546b3e21d1d0ab3b4fcd58576848b3a2d888";
|
||||||
|
sha256 = "1c5gnasq7y9xxj762bn79bis0zi8d9bgg7jzlf64ifixsrc5cymb";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = nixPatches ++ packageUpgradePatches;
|
patches = nixPatches ++ packageUpgradePatches ++ [
|
||||||
|
./patches/known-padics-bug.patch
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# make sure shebangs etc are fixed, but sage-python23 still works
|
# make sure shebangs etc are fixed, but sage-python23 still works
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
let
|
let
|
||||||
name = "scilab-bin-${ver}";
|
name = "scilab-bin-${ver}";
|
||||||
|
|
||||||
ver = "5.5.2";
|
ver = "6.0.1";
|
||||||
|
|
||||||
majorVer = builtins.elemAt (lib.splitString "." ver) 0;
|
majorVer = builtins.elemAt (lib.splitString "." ver) 0;
|
||||||
|
|
||||||
@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
|
|||||||
url = "https://www.scilab.org/download/${ver}/scilab-${ver}.bin.linux-${architecture}.tar.gz";
|
url = "https://www.scilab.org/download/${ver}/scilab-${ver}.bin.linux-${architecture}.tar.gz";
|
||||||
sha256 =
|
sha256 =
|
||||||
if stdenv.system == "i686-linux" then
|
if stdenv.system == "i686-linux" then
|
||||||
"6143a95ded40411a35630a89b365875a6526cd4db1e2865ac5612929a7db937a"
|
"0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib"
|
||||||
else if stdenv.system == "x86_64-linux" then
|
else if stdenv.system == "x86_64-linux" then
|
||||||
"c0dd7a5f06ec7a1df7a6b1b8b14407ff7f45e56821dff9b3c46bd09d4df8d350"
|
"1scswlznc14vyzg0gqa1q9gcpwx05kz1sbn563463mzkdp7nd35d"
|
||||||
else
|
else
|
||||||
badArch;
|
badArch;
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
|
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
|
||||||
, lib
|
, lib
|
||||||
|
, fetchpatch
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, file
|
, file
|
||||||
, flint
|
, flint
|
||||||
@ -36,6 +37,18 @@ stdenv.mkDerivation rec {
|
|||||||
patchShebangs .
|
patchShebangs .
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# NTL error handler was introduced in the library part, preventing users of
|
||||||
|
# the library from implementing their own error handling
|
||||||
|
# https://www.singular.uni-kl.de/forum/viewtopic.php?t=2769
|
||||||
|
(fetchpatch {
|
||||||
|
name = "move_error_handler_out_of_libsingular.patch";
|
||||||
|
# rebased version of https://github.com/Singular/Sources/commit/502cf86d0bb2a96715be6764774b64a69c1ca34c.patch
|
||||||
|
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/singular/patches/singular-ntl-error-handler.patch?h=50b9ae2fd233c30860e1cbb3e63a26f2cc10560a";
|
||||||
|
sha256 = "0vgh4m9zn1kjl0br68n04j4nmn5i1igfn28cph0chnwf7dvr9194";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
# For reference (last checked on commit 75f460d):
|
# For reference (last checked on commit 75f460d):
|
||||||
# https://github.com/Singular/Sources/blob/spielwiese/doc/Building-Singular-from-source.md
|
# https://github.com/Singular/Sources/blob/spielwiese/doc/Building-Singular-from-source.md
|
||||||
# https://github.com/Singular/Sources/blob/spielwiese/doc/external-packages-dynamic-modules.md
|
# https://github.com/Singular/Sources/blob/spielwiese/doc/external-packages-dynamic-modules.md
|
||||||
|
@ -171,9 +171,12 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
python3 ${waf} build
|
python3 ${waf} build
|
||||||
|
'' + optionalString stdenv.isDarwin ''
|
||||||
|
python3 TOOLS/osxbundle.py -s build/mpv
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase =
|
# Ensure youtube-dl is available in $PATH for mpv
|
||||||
|
wrapperFlags =
|
||||||
let
|
let
|
||||||
getPath = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" +
|
getPath = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" +
|
||||||
"${luasocket}/share/lua/${lua.luaversion}/?.${type}";
|
"${luasocket}/share/lua/${lua.luaversion}/?.${type}";
|
||||||
@ -181,24 +184,32 @@ in stdenv.mkDerivation rec {
|
|||||||
luaCPath = getPath "so";
|
luaCPath = getPath "so";
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
python3 ${waf} install
|
|
||||||
|
|
||||||
# Use a standard font
|
|
||||||
mkdir -p $out/share/mpv
|
|
||||||
ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
|
|
||||||
# Ensure youtube-dl is available in $PATH for MPV
|
|
||||||
wrapProgram $out/bin/mpv \
|
|
||||||
--prefix LUA_PATH : "${luaPath}" \
|
--prefix LUA_PATH : "${luaPath}" \
|
||||||
--prefix LUA_CPATH : "${luaCPath}" \
|
--prefix LUA_CPATH : "${luaCPath}" \
|
||||||
'' + optionalString youtubeSupport ''
|
'' + optionalString youtubeSupport ''
|
||||||
--prefix PATH : "${youtube-dl}/bin" \
|
--prefix PATH : "${youtube-dl}/bin" \
|
||||||
'' + optionalString vapoursynthSupport ''
|
'' + optionalString vapoursynthSupport ''
|
||||||
--prefix PYTHONPATH : "${vapoursynth}/lib/${python3.libPrefix}/site-packages:$PYTHONPATH"
|
--prefix PYTHONPATH : "${vapoursynth}/lib/${python3.libPrefix}/site-packages:$PYTHONPATH"
|
||||||
'' + ''
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
python3 ${waf} install
|
||||||
|
|
||||||
|
# Use a standard font
|
||||||
|
mkdir -p $out/share/mpv
|
||||||
|
ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
|
||||||
|
wrapProgram "$out/bin/mpv" \
|
||||||
|
${wrapperFlags}
|
||||||
|
|
||||||
cp TOOLS/umpv $out/bin
|
cp TOOLS/umpv $out/bin
|
||||||
wrapProgram $out/bin/umpv \
|
wrapProgram $out/bin/umpv \
|
||||||
--set MPV "$out/bin/mpv"
|
--set MPV "$out/bin/mpv"
|
||||||
|
|
||||||
|
'' + optionalString stdenv.isDarwin ''
|
||||||
|
mkdir -p $out/Applications
|
||||||
|
cp -r build/mpv.app $out/Applications
|
||||||
|
wrapProgram "$out/Applications/mpv.app/Contents/MacOS/mpv" \
|
||||||
|
${wrapperFlags}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
86
pkgs/applications/video/plex-media-player/default.nix
Normal file
86
pkgs/applications/video/plex-media-player/default.nix
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, fetchurl, makeDesktopItem, pkgconfig, cmake, python3
|
||||||
|
, libX11, libXrandr, qtbase, qtwebchannel, qtwebengine, qtx11extras
|
||||||
|
, libvdpau, SDL2, mpv, libGL }:
|
||||||
|
let
|
||||||
|
# During compilation, a CMake bundle is downloaded from `artifacts.plex.tv`,
|
||||||
|
# which then downloads a handful of web client-related files. To enable
|
||||||
|
# sandboxed builds, we manually download them and save them so these files
|
||||||
|
# are fetched ahead-of-time instead of during the CMake build. Whenever
|
||||||
|
# plex-media-player is updated, the versions for these files are changed,
|
||||||
|
# so the build IDs (and SHAs) below will need to be updated!
|
||||||
|
depSrcs = rec {
|
||||||
|
webClientBuildId = "56-23317d81e49651";
|
||||||
|
webClientDesktopBuildId = "3.57.1-1e49651";
|
||||||
|
webClientTvBuildId = "3.60.1-23317d8";
|
||||||
|
|
||||||
|
webClient = fetchurl {
|
||||||
|
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake";
|
||||||
|
sha256 = "1a48a65zzdx347kfnxriwkb0yjlhvn2g8jkda5pz10r3lwja0gbi";
|
||||||
|
};
|
||||||
|
webClientDesktopHash = fetchurl {
|
||||||
|
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1";
|
||||||
|
sha256 = "04wdgpsh33y8hyjhjrfw6ymf9g002jny7hvhld4xp33lwxhd2j5w";
|
||||||
|
};
|
||||||
|
webClientDesktop = fetchurl {
|
||||||
|
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz";
|
||||||
|
sha256 = "1asw9f84z9sm3w7ifnc7j631j84rgx23c6msmn2dnw48ckv3bj2z";
|
||||||
|
};
|
||||||
|
webClientTvHash = fetchurl {
|
||||||
|
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1";
|
||||||
|
sha256 = "0d1hsvmpwczwx442f8qdvfr8c3w84630j9qwpg2y4qm423sgdvja";
|
||||||
|
};
|
||||||
|
webClientTv = fetchurl {
|
||||||
|
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz";
|
||||||
|
sha256 = "1ih3l5paf1jl68b1xq3iqqmvs3m07fybz57hcz4f78v0gwq2kryq";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
name = "plex-media-player-${version}";
|
||||||
|
version = "2.14.1.880";
|
||||||
|
vsnHash = "301a4b6c";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "plexinc";
|
||||||
|
repo = "plex-media-player";
|
||||||
|
rev = "v${version}-${vsnHash}";
|
||||||
|
sha256 = "0xz41r697vl6s3qvy6jwriv3pb9cfy61j6sydvdq121x5a0jnh9a";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig cmake python3 ];
|
||||||
|
buildInputs = [ libX11 libXrandr qtbase qtwebchannel qtwebengine qtx11extras
|
||||||
|
libvdpau SDL2 mpv libGL ];
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "plex-media-player";
|
||||||
|
exec = "plexmediaplayer";
|
||||||
|
icon = "plex-media-player";
|
||||||
|
comment = "View your media";
|
||||||
|
desktopName = "Plex Media Player";
|
||||||
|
genericName = "Media Player";
|
||||||
|
categories = "AudioVideo;Video;Player;TV;";
|
||||||
|
};
|
||||||
|
|
||||||
|
preConfigure = with depSrcs; ''
|
||||||
|
mkdir -p build/dependencies
|
||||||
|
ln -s ${webClient} build/dependencies/buildid-${webClientBuildId}.cmake
|
||||||
|
ln -s ${webClientDesktopHash} build/dependencies/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1
|
||||||
|
ln -s ${webClientDesktop} build/dependencies/web-client-desktop-${webClientDesktopBuildId}.tar.xz
|
||||||
|
ln -s ${webClientTvHash} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz.sha1
|
||||||
|
ln -s ${webClientTv} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/{applications,pixmaps}
|
||||||
|
cp ${src}/resources/images/icon.png $out/share/pixmaps/plex-media-player.png
|
||||||
|
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DQTROOT=${qtbase}" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Streaming media player for Plex";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = with maintainers; [ kylewlacy ];
|
||||||
|
homepage = https://plex.tv;
|
||||||
|
};
|
||||||
|
}
|
@ -1,20 +1,20 @@
|
|||||||
{ stdenv, fetchFromGitHub, SDL2, frei0r, gettext, mlt, jack1, pkgconfig, qtbase
|
{ stdenv, fetchFromGitHub, SDL2, frei0r, gettext, mlt, jack1, pkgconfig, qtbase
|
||||||
, qtmultimedia, qtwebkit, qtx11extras, qtwebsockets, qtquickcontrols
|
, qtmultimedia, qtwebkit, qtx11extras, qtwebsockets, qtquickcontrols
|
||||||
, qtgraphicaleffects, libmlt
|
, qtgraphicaleffects, libmlt
|
||||||
, qmake, makeWrapper, fetchpatch, qttools }:
|
, qmake, makeWrapper, qttools }:
|
||||||
|
|
||||||
assert stdenv.lib.versionAtLeast libmlt.version "6.8.0";
|
assert stdenv.lib.versionAtLeast libmlt.version "6.8.0";
|
||||||
assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
|
assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "shotcut-${version}";
|
name = "shotcut-${version}";
|
||||||
version = "18.06.02";
|
version = "18.08";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mltframework";
|
owner = "mltframework";
|
||||||
repo = "shotcut";
|
repo = "shotcut";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1pqpgsb8ix1akq326chf46vvl5h02dwmdskskf2n6impygsy4x7v";
|
sha256 = "1p2s4avm3bl5ippmgfzkkbb2w0xs4vhk2wbcd22g7bh1zq9w190n";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${libmlt}/include/mlt++ -I${libmlt}/include/mlt";
|
NIX_CFLAGS_COMPILE = "-I${libmlt}/include/mlt++ -I${libmlt}/include/mlt";
|
||||||
qmakeFlags = [ "QMAKE_LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" ];
|
qmakeFlags = [ "QMAKE_LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" "SHOTCUT_VERSION=${version}" ];
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
sed 's_shotcutPath, "qmelt"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
|
sed 's_shotcutPath, "qmelt"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
|
||||||
@ -35,12 +35,6 @@ stdenv.mkDerivation rec {
|
|||||||
sed "s_/usr/bin/nice_''${NICE}_" -i src/jobs/meltjob.cpp src/jobs/ffmpegjob.cpp
|
sed "s_/usr/bin/nice_''${NICE}_" -i src/jobs/meltjob.cpp src/jobs/ffmpegjob.cpp
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [ (fetchpatch {
|
|
||||||
url = https://github.com/mltframework/shotcut/commit/f304b7403cc7beb57b1610afd9c5c8173749e80b.patch;
|
|
||||||
name = "qt511.patch";
|
|
||||||
sha256 = "1ynvyjchcb33a33x4w1ddnah2gyzmnm125ailgg6xy60lqsnsmp9";
|
|
||||||
} ) ];
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share/shotcut
|
mkdir -p $out/share/shotcut
|
||||||
cp -r src/qml $out/share/shotcut/
|
cp -r src/qml $out/share/shotcut/
|
||||||
|
@ -34,56 +34,48 @@ let
|
|||||||
};
|
};
|
||||||
in stdenv.lib.mapAttrs mkVariant {
|
in stdenv.lib.mapAttrs mkVariant {
|
||||||
adventor = {
|
adventor = {
|
||||||
displayName = "Adventor";
|
|
||||||
version = "2_501";
|
version = "2_501";
|
||||||
sha256 = "0qjg3x0adfppyx3x33cm07ww9i9sl88xaq07m7wfip8rmyp567fn";
|
sha256 = "0qjg3x0adfppyx3x33cm07ww9i9sl88xaq07m7wfip8rmyp567fn";
|
||||||
outputHash = "117h6f02m1r54b4f1a98q5kkjchl5pv9ibm1jla6xrzhk2pchb27";
|
outputHash = "117h6f02m1r54b4f1a98q5kkjchl5pv9ibm1jla6xrzhk2pchb27";
|
||||||
abbreviation = "qag";
|
abbreviation = "qag";
|
||||||
};
|
};
|
||||||
bonum = {
|
bonum = {
|
||||||
displayName = "Bonum";
|
|
||||||
version = "2.004";
|
version = "2.004";
|
||||||
sha256 = "0qbrs98knx4h0b297c5n3vav4mkal1a95ai2dzmdc10pghfzl8vv";
|
sha256 = "0qbrs98knx4h0b297c5n3vav4mkal1a95ai2dzmdc10pghfzl8vv";
|
||||||
outputHash = "0bid8gzwz50ylmm8jyqf9s4nfvy6cp1x34wbyrh4gyk1ki6hf3z1";
|
outputHash = "0bid8gzwz50ylmm8jyqf9s4nfvy6cp1x34wbyrh4gyk1ki6hf3z1";
|
||||||
abbreviation = "qbk";
|
abbreviation = "qbk";
|
||||||
};
|
};
|
||||||
chorus = {
|
chorus = {
|
||||||
displayName = "Chorus";
|
|
||||||
version = "2.003";
|
version = "2.003";
|
||||||
sha256 = "1b0zak27fzmapwbf2jasvsd95vhnqyc92n985d1lc1ivwja1zgfa";
|
sha256 = "1b0zak27fzmapwbf2jasvsd95vhnqyc92n985d1lc1ivwja1zgfa";
|
||||||
outputHash = "0fqifd45c1ys6y98b66lmldfbv7wjb2414fs9swicv4n7xvl3cp1";
|
outputHash = "0fqifd45c1ys6y98b66lmldfbv7wjb2414fs9swicv4n7xvl3cp1";
|
||||||
abbreviation = "qzc";
|
abbreviation = "qzc";
|
||||||
};
|
};
|
||||||
cursor = {
|
cursor = {
|
||||||
displayName = "Cursor";
|
|
||||||
version = "2.004";
|
version = "2.004";
|
||||||
sha256 = "0ck3jm33bk2xsxp5d2irzd3j24zb49f0gnjvd1nikg1ivk8w85ng";
|
sha256 = "0ck3jm33bk2xsxp5d2irzd3j24zb49f0gnjvd1nikg1ivk8w85ng";
|
||||||
outputHash = "0i76835xqlkrnlx303mx63m0f4899j056c2ag2fl6p9qk8s4rskp";
|
outputHash = "0i76835xqlkrnlx303mx63m0f4899j056c2ag2fl6p9qk8s4rskp";
|
||||||
abbreviation = "qcr";
|
abbreviation = "qcr";
|
||||||
};
|
};
|
||||||
heros = {
|
heros = {
|
||||||
displayName = "Heros";
|
|
||||||
version = "2.004";
|
version = "2.004";
|
||||||
sha256 = "1fj2srxxf6ap913y5yd3dn4jzg828j7381gifs39nm5lnzmgw78y";
|
sha256 = "1fj2srxxf6ap913y5yd3dn4jzg828j7381gifs39nm5lnzmgw78y";
|
||||||
outputHash = "16y76ab46fxm9k8wfmwx4w0cl96yrmjywz587lyr08s0agp1v3kf";
|
outputHash = "16y76ab46fxm9k8wfmwx4w0cl96yrmjywz587lyr08s0agp1v3kf";
|
||||||
abbreviation = "qhv";
|
abbreviation = "qhv";
|
||||||
};
|
};
|
||||||
pagella = {
|
pagella = {
|
||||||
displayName = "Pagella";
|
|
||||||
version ="2_501";
|
version ="2_501";
|
||||||
sha256 = "1kccaxs3vk93la2pz4nv05hx1x3diyla49cz4l33zifdcp2zgg9d";
|
sha256 = "1kccaxs3vk93la2pz4nv05hx1x3diyla49cz4l33zifdcp2zgg9d";
|
||||||
outputHash = "1nnjsgplimh29502pkd19rvfg93x31svxxmx4x7h51njrx1j8qa8";
|
outputHash = "1nnjsgplimh29502pkd19rvfg93x31svxxmx4x7h51njrx1j8qa8";
|
||||||
abbreviation = "qpl";
|
abbreviation = "qpl";
|
||||||
};
|
};
|
||||||
schola = {
|
schola = {
|
||||||
displayName = "Schola";
|
|
||||||
version = "2.005";
|
version = "2.005";
|
||||||
sha256 = "05z3gk4mm0sa7wwjcv31j2xlzqhwhcncpamn0kn9y0221cdknyp8";
|
sha256 = "05z3gk4mm0sa7wwjcv31j2xlzqhwhcncpamn0kn9y0221cdknyp8";
|
||||||
outputHash = "1yqq1ngcylhldrh1v35l439k72szq9m4gx6g0wh235fk65chb2bm";
|
outputHash = "1yqq1ngcylhldrh1v35l439k72szq9m4gx6g0wh235fk65chb2bm";
|
||||||
abbreviation = "qcs";
|
abbreviation = "qcs";
|
||||||
};
|
};
|
||||||
termes = {
|
termes = {
|
||||||
displayName = "Termes";
|
|
||||||
version = "2.004";
|
version = "2.004";
|
||||||
sha256 = "1aq3yqbgkc3z20dkcqyhicsyq0afbgg4l397z96sd8a16jyz2x8k";
|
sha256 = "1aq3yqbgkc3z20dkcqyhicsyq0afbgg4l397z96sd8a16jyz2x8k";
|
||||||
outputHash = "1igw821m601h8937pix6yish4d8fxmz3h4j9hripf41bxsiafzzg";
|
outputHash = "1igw821m601h8937pix6yish4d8fxmz3h4j9hripf41bxsiafzzg";
|
||||||
|
47
pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
Normal file
47
pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook
|
||||||
|
, gettext, gnome3, glib, gtk, libpeas
|
||||||
|
, gnome-online-accounts, gsettings-desktop-schemas
|
||||||
|
, evolution-data-server, libxml2, libsoup, libical, rest, json-glib }:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "gnome-todo";
|
||||||
|
version = "3.28.1";
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
|
||||||
|
sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson ninja pkgconfig gettext wrapGAppsHook
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
glib gtk libpeas gnome-online-accounts
|
||||||
|
gsettings-desktop-schemas gnome3.defaultIconTheme
|
||||||
|
# Plug-ins
|
||||||
|
evolution-data-server libxml2 libsoup libical
|
||||||
|
rest json-glib
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
chmod +x meson_post_install.py
|
||||||
|
patchShebangs meson_post_install.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gnome3.updateScript {
|
||||||
|
packageName = pname;
|
||||||
|
attrPath = "gnome3.${pname}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Personal task manager for GNOME";
|
||||||
|
homepage = https://wiki.gnome.org/Apps/Todo;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = gnome3.maintainers;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -30,7 +30,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||||||
nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
|
nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
|
||||||
gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
|
gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
|
||||||
gnome-getting-started-docs gnome-packagekit gnome-software
|
gnome-getting-started-docs gnome-packagekit gnome-software
|
||||||
gnome-power-manager gnome-usage
|
gnome-power-manager gnome-todo gnome-usage
|
||||||
];
|
];
|
||||||
|
|
||||||
gamesPackages = with gnome3; [ swell-foop lightsoff iagno
|
gamesPackages = with gnome3; [ swell-foop lightsoff iagno
|
||||||
@ -291,6 +291,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||||||
|
|
||||||
gnome-sound-recorder = callPackage ./apps/gnome-sound-recorder { };
|
gnome-sound-recorder = callPackage ./apps/gnome-sound-recorder { };
|
||||||
|
|
||||||
|
gnome-todo = callPackage ./apps/gnome-todo {};
|
||||||
|
|
||||||
gnome-weather = callPackage ./apps/gnome-weather { };
|
gnome-weather = callPackage ./apps/gnome-weather { };
|
||||||
|
|
||||||
nautilus-sendto = callPackage ./apps/nautilus-sendto { };
|
nautilus-sendto = callPackage ./apps/nautilus-sendto { };
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, lib, fetchurl
|
{ stdenv, lib, fetchurl, fetchpatch
|
||||||
, coq, ocamlPackages
|
, coq, ocamlPackages
|
||||||
, tools ? stdenv.cc
|
, tools ? stdenv.cc
|
||||||
}:
|
}:
|
||||||
@ -7,11 +7,11 @@ assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02";
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "compcert-${version}";
|
name = "compcert-${version}";
|
||||||
version = "3.2";
|
version = "3.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://compcert.inria.fr/release/${name}.tgz";
|
url = "http://compcert.inria.fr/release/${name}.tgz";
|
||||||
sha256 = "11q4121s0rxva63njjwya7syfx9w0p4hzr6avh8s57vfbrcakc93";
|
sha256 = "16xrqcwak1v1fk5ndx6jf1yvxv3adsr7p7z34gfm2mpggxnq0xwn";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ coq ]
|
buildInputs = [ coq ]
|
||||||
@ -19,9 +19,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postPatch = ''
|
patches = [ (fetchpatch {
|
||||||
sed -i -e 's/8\.6\.1|8\.7\.0|8\.7\.1)/8.6.1|8.7.0|8.7.1|8.7.2)/' configure
|
url = "https://github.com/AbsInt/CompCert/commit/679ecfeaa24c0615fa1999e9582bf2af6a9f35e7.patch";
|
||||||
'';
|
sha256 = "04yrn6dp57aw6lmlr4yssjlx9cxix0mlmaw7gfhwyz5bzqc2za1a";
|
||||||
|
})];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
|
substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
|
||||||
|
@ -264,11 +264,13 @@ self: super: builtins.intersectAttrs super {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
llvm-hs = super.llvm-hs.override { llvm-config = pkgs.llvm; };
|
llvm-hs =
|
||||||
llvm-hs_6_3_0 = super.llvm-hs_6_3_0.override {
|
let dontCheckDarwin = if pkgs.stdenv.isDarwin
|
||||||
|
then dontCheck
|
||||||
|
else pkgs.lib.id;
|
||||||
|
in dontCheckDarwin (super.llvm-hs.override {
|
||||||
llvm-config = pkgs.llvm_6;
|
llvm-config = pkgs.llvm_6;
|
||||||
llvm-hs-pure = super.llvm-hs-pure_6_2_1;
|
});
|
||||||
};
|
|
||||||
|
|
||||||
# Needs help finding LLVM.
|
# Needs help finding LLVM.
|
||||||
spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
|
spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
|
||||||
|
@ -153,6 +153,8 @@
|
|||||||
|
|
||||||
protobuf = callPackage ./protobuf.nix {};
|
protobuf = callPackage ./protobuf.nix {};
|
||||||
|
|
||||||
|
quantities = callPackage ./quantities.nix {};
|
||||||
|
|
||||||
rationals = callPackage ./rationals.nix {};
|
rationals = callPackage ./rationals.nix {};
|
||||||
|
|
||||||
recursion_schemes = callPackage ./recursion_schemes.nix {};
|
recursion_schemes = callPackage ./recursion_schemes.nix {};
|
||||||
|
22
pkgs/development/idris-modules/quantities.nix
Normal file
22
pkgs/development/idris-modules/quantities.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ build-idris-package
|
||||||
|
, fetchFromGitHub
|
||||||
|
, lib
|
||||||
|
}:
|
||||||
|
build-idris-package {
|
||||||
|
name = "quantities";
|
||||||
|
version = "2018-04-17";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "timjb";
|
||||||
|
repo = "quantities";
|
||||||
|
rev = "76bb872bd89122043083351993140ae26eb91ead";
|
||||||
|
sha256 = "0fv12kdi9089b4kkr6inhqvs2s8x62nv5vqj76wzk8hy0lrzylzj";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Type-safe physical computations and unit conversions in Idris";
|
||||||
|
homepage = https://github.com/timjb/quantities;
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ imuli ];
|
||||||
|
};
|
||||||
|
}
|
@ -40,6 +40,8 @@ in
|
|||||||
rm -vf rebar
|
rm -vf rebar
|
||||||
ln -s ${rebar}/bin/rebar rebar
|
ln -s ${rebar}/bin/rebar rebar
|
||||||
|
|
||||||
|
patchShebangs lib/elixir/generate_app.escript || true
|
||||||
|
|
||||||
substituteInPlace Makefile \
|
substituteInPlace Makefile \
|
||||||
--replace "/usr/local" $out
|
--replace "/usr/local" $out
|
||||||
'';
|
'';
|
||||||
|
@ -1,36 +1,27 @@
|
|||||||
{ stdenv, fetchpatch, fetchFromGitHub, meson, ninja, pkgconfig, gettext
|
{ stdenv, fetchpatch, fetchFromGitHub, meson, ninja, pkgconfig, gettext
|
||||||
, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
|
, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
|
||||||
, libstemmer, glib, xapian, libxml2, libyaml, gobjectIntrospection
|
, libstemmer, glib, xapian, libxml2, libyaml, gobjectIntrospection
|
||||||
, pcre, itstool
|
, pcre, itstool, gperf, vala
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "appstream-${version}";
|
name = "appstream-${version}";
|
||||||
version = "0.11.8";
|
version = "0.12.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ximion";
|
owner = "ximion";
|
||||||
repo = "appstream";
|
repo = "appstream";
|
||||||
rev = "APPSTREAM_${stdenv.lib.replaceStrings ["."] ["_"] version}";
|
rev = "APPSTREAM_${stdenv.lib.replaceStrings ["."] ["_"] version}";
|
||||||
sha256 = "07vzz57g1p5byj2jfg17y5n3il0g07d9wkiynzwra71mcxar1p08";
|
sha256 = "1g15c4bhyl730rgaiqia3jppraixh05c3yx098lyilidbddxp5xb";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# drop this in version 0.11.9 and above
|
|
||||||
(fetchpatch {
|
|
||||||
name = "define-location-and-soname.patch";
|
|
||||||
url = "https://github.com/ximion/appstream/commit/3e58f9c9.patch";
|
|
||||||
sha256 = "1ffgbdfg80yq5vahjrvdd4f8xsp32ksm9vyasfmc7hzhx294s78w";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson ninja pkgconfig gettext
|
meson ninja pkgconfig gettext
|
||||||
libxslt xmlto docbook_xsl docbook_xml_dtd_45
|
libxslt xmlto docbook_xsl docbook_xml_dtd_45
|
||||||
gobjectIntrospection itstool
|
gobjectIntrospection itstool vala
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml ];
|
buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf ];
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
substituteInPlace meson.build \
|
substituteInPlace meson.build \
|
||||||
@ -43,7 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Dapidocs=false"
|
"-Dapidocs=false"
|
||||||
"-Ddocs=false"
|
"-Ddocs=false"
|
||||||
"-Dgir=false"
|
"-Dvapi=true"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "appstream-qt-${version}";
|
name = "appstream-qt-${version}";
|
||||||
inherit (appstream) version src patches prePatch;
|
inherit (appstream) version src prePatch;
|
||||||
|
|
||||||
buildInputs = appstream.buildInputs ++ [ appstream qtbase ];
|
buildInputs = appstream.buildInputs ++ [ appstream qtbase ];
|
||||||
|
|
||||||
|
@ -1,55 +1,33 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchurl
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, gmp
|
, gmp
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
|
, texlive
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "cddlib-${version}";
|
name = "cddlib-${version}";
|
||||||
version = "0.94i";
|
version = "0.94j";
|
||||||
src = let
|
src = fetchFromGitHub {
|
||||||
fileVersion = stdenv.lib.replaceStrings ["."] [""] version;
|
owner = "cddlib";
|
||||||
in fetchurl {
|
repo = "cddlib";
|
||||||
# Might switch to github in the future, see
|
rev = "${version}";
|
||||||
# https://trac.sagemath.org/ticket/21952#comment:20
|
sha256 = "1z03ljy3rrr0qq5gq54vynnif6fn0xhn05g90nnv0dpyc3ps8lzp";
|
||||||
urls = [
|
|
||||||
"http://archive.ubuntu.com/ubuntu/pool/universe/c/cddlib/cddlib_${fileVersion}.orig.tar.gz"
|
|
||||||
"ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlib-${fileVersion}.tar.gz"
|
|
||||||
];
|
|
||||||
sha256 = "00zdgiqb91vx6gd2103h3ijij0llspsxc6zz3iw2bll39fvkl4xq";
|
|
||||||
};
|
};
|
||||||
buildInputs = [gmp];
|
buildInputs = [gmp];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
|
texlive.combined.scheme-small # for building the documentation
|
||||||
];
|
];
|
||||||
# compute reduced H and V representation of polytope
|
# No actual checks yet (2018-05-05), but maybe one day.
|
||||||
# this patch is included by most distributions (Debian, Conda, ArchLinux, SageMath)
|
# Requested here: https://github.com/cddlib/cddlib/issues/25
|
||||||
# proposed upstream (no answer yet): https://github.com/cddlib/cddlib/pull/3
|
doCheck = true;
|
||||||
both_reps_c = (fetchurl {
|
meta = with stdenv.lib; {
|
||||||
name = "cdd_both_reps.c";
|
|
||||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/cddlib/files/cdd_both_reps.c?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
|
|
||||||
sha256 = "0r9yc5bgiz8i72c6vsn2y2mjk5581iw94gji9v7lg16kzzgrk9x0";
|
|
||||||
});
|
|
||||||
preAutoreconf = ''
|
|
||||||
# Required by sage.geometry.polyhedron
|
|
||||||
cp ${both_reps_c} src/cdd_both_reps.c
|
|
||||||
cp ${both_reps_c} src-gmp/cdd_both_reps.c
|
|
||||||
'';
|
|
||||||
patches = [
|
|
||||||
# add the cdd_both_reps binary
|
|
||||||
(fetchpatch {
|
|
||||||
name = "add-cdd_both_reps-binary.patch";
|
|
||||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch?id=78e3a61a68c916450aa4e5ceecd20041583af901";
|
|
||||||
sha256 = "162ni2fr7dpbdkz0b5nizxq7qr5k1i1d75g0smiylpzfb0hb761a";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
meta = {
|
|
||||||
inherit version;
|
inherit version;
|
||||||
description = ''An implementation of the Double Description Method for generating all vertices of a convex polyhedron'';
|
description = ''An implementation of the Double Description Method for generating all vertices of a convex polyhedron'';
|
||||||
license = stdenv.lib.licenses.gpl2Plus ;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = [stdenv.lib.maintainers.raskin];
|
maintainers = with maintainers; [raskin timokau];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
homepage = https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html;
|
homepage = https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, zlib, expat, gettext }:
|
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, zlib, expat, gettext
|
||||||
|
, autoconf }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "exiv2-0.26";
|
name = "exiv2-0.26.2018.06.09";
|
||||||
|
|
||||||
src = fetchurl {
|
#url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
|
||||||
url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
|
src = fetchFromGitHub rec {
|
||||||
sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7";
|
owner = "exiv2";
|
||||||
|
repo = "exiv2";
|
||||||
|
rev = "4aa57ad";
|
||||||
|
sha256 = "1kblpxbi4wlb0l57xmr7g23zn9adjmfswhs6kcwmd7skwi2yivcd";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -17,24 +21,35 @@ stdenv.mkDerivation rec {
|
|||||||
sha512 = "3f9242dbd4bfa9dcdf8c9820243b13dc14990373a800c4ebb6cf7eac5653cfef"
|
sha512 = "3f9242dbd4bfa9dcdf8c9820243b13dc14990373a800c4ebb6cf7eac5653cfef"
|
||||||
+ "e6f2c47a94fbee4ed24f0d8c2842729d721f6100a2b215e0f663c89bfefe9e32";
|
+ "e6f2c47a94fbee4ed24f0d8c2842729d721f6100a2b215e0f663c89bfefe9e32";
|
||||||
})
|
})
|
||||||
|
# Two backports from master, submitted as https://github.com/Exiv2/exiv2/pull/398
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
# many CVEs - see https://github.com/Exiv2/exiv2/pull/120
|
name = "CVE-2018-12264.diff";
|
||||||
url = "https://patch-diff.githubusercontent.com/raw/Exiv2/exiv2/pull/120.patch";
|
url = "https://github.com/vcunat/exiv2/commit/fd18e853.diff";
|
||||||
sha256 = "1szl22xmh12hibzaqf2zi8zl377x841m52x4jm5lziw6j8g81sj8";
|
sha256 = "0y7ahh45lpaiazjnfllndfaa5pyixh6z4kcn2ywp7qy4ra7qpwdr";
|
||||||
excludes = [ "test/bugfixes-test.sh" ];
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2018-12265.diff";
|
||||||
|
url = "https://github.com/vcunat/exiv2/commit/9ed1671bd4.diff";
|
||||||
|
sha256 = "1cn446pfcgsh1bn9vxikkkcy1cqq7ghz2w291h1094ydqg6w7q6w";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = "patchShebangs ./src/svn_version.sh";
|
postPatch = "patchShebangs ./src/svn_version.sh";
|
||||||
|
|
||||||
|
preConfigure = "make config"; # needed because not using tarball
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [
|
||||||
|
gettext
|
||||||
|
autoconf # needed because not using tarball
|
||||||
|
];
|
||||||
propagatedBuildInputs = [ zlib expat ];
|
propagatedBuildInputs = [ zlib expat ];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.exiv2.org/;
|
homepage = http://www.exiv2.org/;
|
||||||
description = "A library and command-line utility to manage image metadata";
|
description = "A library and command-line utility to manage image metadata";
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = platforms.all;
|
||||||
|
license = licenses.gpl2;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
53
pkgs/development/libraries/libunity/default.nix
Normal file
53
pkgs/development/libraries/libunity/default.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool
|
||||||
|
, glib, vala, dee, gobjectIntrospection, libdbusmenu-glib
|
||||||
|
, gtk3, intltool, gnome-common, python3, icu }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libunity";
|
||||||
|
version = "7.1.4";
|
||||||
|
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}+15.10.20151002.orig.tar.gz";
|
||||||
|
sha256 = "1sf98qcjkxfibxk03firnc12dm6il8jzaq5763qam8ydg4li4gij";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
gnome-common
|
||||||
|
gobjectIntrospection
|
||||||
|
intltool
|
||||||
|
libtool
|
||||||
|
pkgconfig
|
||||||
|
python3
|
||||||
|
vala
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ dee libdbusmenu-glib ];
|
||||||
|
|
||||||
|
preConfigure = "NOCONFIGURE=1 ./autogen.sh";
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--disable-static"
|
||||||
|
"--with-pygi-overrides-dir=$(out)/${python3.sitePackages}/gi/overrides"
|
||||||
|
];
|
||||||
|
|
||||||
|
NIX_LDFLAGS = "-L${icu}/lib";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A library for instrumenting and integrating with all aspects of the Unity shell";
|
||||||
|
homepage = https://launchpad.net/libunity;
|
||||||
|
license = licenses.lgpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ worldofpeace ];
|
||||||
|
};
|
||||||
|
}
|
@ -52,6 +52,9 @@ in stdenv.mkDerivation rec {
|
|||||||
install -Dm644 *.jar $out/share/java
|
install -Dm644 *.jar $out/share/java
|
||||||
install -Dm644 sdk/include/* $out/include
|
install -Dm644 sdk/include/* $out/include
|
||||||
install -Dm644 sdk/demo/* $out/share/${name}/demo
|
install -Dm644 sdk/demo/* $out/share/${name}/demo
|
||||||
|
|
||||||
|
# PECL::oci8 will not build without this
|
||||||
|
ln -s $out/lib/libclntsh.so.12.1 $out/lib/libclntsh.so
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
23
pkgs/development/libraries/prototypejs/default.nix
Normal file
23
pkgs/development/libraries/prototypejs/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, fetchurl, ... }:
|
||||||
|
let
|
||||||
|
version = "1.7.3.0";
|
||||||
|
in fetchurl {
|
||||||
|
name = "prototype-${version}.js";
|
||||||
|
url = "https://ajax.googleapis.com/ajax/libs/prototype/${version}/prototype.js";
|
||||||
|
sha256 = "0q43vvrsb22h4jvavs1gk3v4ps61yx9k85b5n6q9mxivhmxprg26";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A foundation for ambitious web user interfaces";
|
||||||
|
longDescription = ''
|
||||||
|
Prototype takes the complexity out of client-side web
|
||||||
|
programming. Built to solve real-world problems, it adds
|
||||||
|
useful extensions to the browser scripting environment
|
||||||
|
and provides elegant APIs around the clumsy interfaces
|
||||||
|
of Ajax and the Document Object Model.
|
||||||
|
'';
|
||||||
|
homepage = http://prototypejs.org/;
|
||||||
|
downloadPage = http://prototypejs.org/download/;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ das_j ];
|
||||||
|
};
|
||||||
|
}
|
@ -57,6 +57,18 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# based on gentoos makefile patch -- fix paths, adhere to flags
|
# based on gentoos makefile patch -- fix paths, adhere to flags
|
||||||
./makefile.patch
|
./makefile.patch
|
||||||
|
|
||||||
|
# (fetchpatch {
|
||||||
|
# name = "default-double.patch";
|
||||||
|
# url = "https://github.com/dimpase/lcalc/pull/1/commits/0500c67b6aa1f492715591669f6647c8f7a3ea59.patch";
|
||||||
|
# sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vla";
|
||||||
|
# })
|
||||||
|
|
||||||
|
(fetchpatch {
|
||||||
|
name = "c++11.patch";
|
||||||
|
url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/lcalc-c++11.patch?h=packages/lcalc&id=3607b97df5a8c231191115b0cb5c62426b339e71";
|
||||||
|
sha256 = "1ccrl61lv2vvx8ggldq54m5d0n1iy6mym7qz0i8nj6yj0dshnpk3";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
installFlags = [
|
installFlags = [
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, autoreconfHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "1.0";
|
||||||
|
name = "libbraiding-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "miguelmarco";
|
||||||
|
repo = "libbraiding";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0l68rikfr7k2l547gb3pp3g8cj5zzxwipm79xrb5r8ffj466ydxg";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
];
|
||||||
|
|
||||||
|
# no tests included for now (2018-08-05), but can't hurt to activate
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/miguelmarco/libbraiding/;
|
||||||
|
description = "C++ library for computations on braid groups";
|
||||||
|
longDescription = ''
|
||||||
|
A library to compute several properties of braids, including centralizer and conjugacy check.
|
||||||
|
'';
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ timokau ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, autoreconfHook
|
||||||
|
, boehmgc
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "1.02r5";
|
||||||
|
name = "llibhomfly-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "miguelmarco";
|
||||||
|
repo = "libhomfly";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1szv8iwlhvmy3saigi15xz8vgch92p2lbsm6440v5s8vxj455bvd";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
boehmgc
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/miguelmarco/libhomfly/;
|
||||||
|
description = "Library to compute the homfly polynomial of knots and links";
|
||||||
|
license = licenses.unlicense;
|
||||||
|
maintainers = with maintainers; [ timokau ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/development/python-modules/basiciw/default.nix
Normal file
30
pkgs/development/python-modules/basiciw/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, gcc
|
||||||
|
, wirelesstools
|
||||||
|
, isPy27
|
||||||
|
, isPyPy
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "basiciw";
|
||||||
|
version = "0.2.2";
|
||||||
|
|
||||||
|
disabled = isPy27 || isPyPy;
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "1ajmflvvlkflrcmqmkrx0zaira84z8kv4ssb2jprfwvjh8vfkysb";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ gcc ];
|
||||||
|
propagatedBuildInputs = [ wirelesstools ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Get info about wireless interfaces using libiw";
|
||||||
|
homepage = https://github.com/enkore/basiciw;
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
license = lib.licenses.gpl2;
|
||||||
|
};
|
||||||
|
}
|
43
pkgs/development/python-modules/beaker/default.nix
Normal file
43
pkgs/development/python-modules/beaker/default.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, nose
|
||||||
|
, mock
|
||||||
|
, webtest
|
||||||
|
, sqlalchemy
|
||||||
|
, pycrypto
|
||||||
|
, isPy27
|
||||||
|
, funcsigs
|
||||||
|
, pycryptopp
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "Beaker";
|
||||||
|
version = "1.8.0";
|
||||||
|
|
||||||
|
# The pypy release do not contains the tests
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bbangert";
|
||||||
|
repo = "beaker";
|
||||||
|
rev = "${version}";
|
||||||
|
sha256 = "17yfr7a307n8rdl09was4j60xqk2s0hk0hywdkigrpj4qnw0is7g";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs =
|
||||||
|
[ nose
|
||||||
|
mock
|
||||||
|
webtest
|
||||||
|
];
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
sqlalchemy
|
||||||
|
pycrypto
|
||||||
|
] ++ lib.optionals (isPy27) [
|
||||||
|
funcsigs
|
||||||
|
pycryptopp
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A Session and Caching library with WSGI Middleware";
|
||||||
|
maintainers = with lib.maintainers; [ garbas domenkozar ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,6 +2,7 @@
|
|||||||
, stdenv
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
|
, fetchpatch
|
||||||
# Build dependencies
|
# Build dependencies
|
||||||
, glibcLocales
|
, glibcLocales
|
||||||
# Test dependencies
|
# Test dependencies
|
||||||
@ -36,6 +37,16 @@ buildPythonPackage rec {
|
|||||||
substituteInPlace setup.py --replace "'gnureadline'" " "
|
substituteInPlace setup.py --replace "'gnureadline'" " "
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# improve cython support, needed by sage, accepted upstream
|
||||||
|
# https://github.com/ipython/ipython/pull/11139
|
||||||
|
(fetchpatch {
|
||||||
|
name = "signature-use-inspect.patch";
|
||||||
|
url = "https://github.com/ipython/ipython/commit/8d399b98d3ed5c765835594100c4d36fb2f739dc.patch";
|
||||||
|
sha256 = "1r7v9clwwbskmj4y160vcj6g0vzqbvnj4y1bm2n4bskafapm42g0";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [ glibcLocales ];
|
buildInputs = [ glibcLocales ];
|
||||||
|
|
||||||
checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock;
|
checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock;
|
||||||
|
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
|||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "af3a3252bc58f8642a641601ba59096c22e4aa49cdc1ed4b0df2314f4f027f0d";
|
sha256 = "00x28z6diw06gakb5isbfha5z2n63yyncv4za303nsgzxvlihmx0";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ blessings mozterm six ];
|
propagatedBuildInputs = [ blessings mozterm six ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, buildPythonPackage, fetchPypi, isPy3k }:
|
{ lib, buildPythonPackage, fetchPypi, isPy3k, six }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mozterm";
|
pname = "mozterm";
|
||||||
@ -7,6 +7,8 @@ buildPythonPackage rec {
|
|||||||
# name 'unicode' is not defined
|
# name 'unicode' is not defined
|
||||||
disabled = isPy3k;
|
disabled = isPy3k;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [six];
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "b1e91acec188de07c704dbb7b0100a7be5c1e06567b3beb67f6ea11d00a483a4";
|
sha256 = "b1e91acec188de07c704dbb7b0100a7be5c1e06567b3beb67f6ea11d00a483a4";
|
||||||
|
@ -11,22 +11,22 @@ GEM
|
|||||||
nokogiri (1.8.4)
|
nokogiri (1.8.4)
|
||||||
mini_portile2 (~> 2.3.0)
|
mini_portile2 (~> 2.3.0)
|
||||||
parallel (1.12.1)
|
parallel (1.12.1)
|
||||||
parser (2.5.1.0)
|
parser (2.5.1.2)
|
||||||
ast (~> 2.4.0)
|
ast (~> 2.4.0)
|
||||||
powerpack (0.1.2)
|
powerpack (0.1.2)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
reverse_markdown (1.1.0)
|
reverse_markdown (1.1.0)
|
||||||
nokogiri
|
nokogiri
|
||||||
rubocop (0.58.0)
|
rubocop (0.58.2)
|
||||||
jaro_winkler (~> 1.5.1)
|
jaro_winkler (~> 1.5.1)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
parser (>= 2.5)
|
parser (>= 2.5, != 2.5.1.1)
|
||||||
powerpack (~> 0.1)
|
powerpack (~> 0.1)
|
||||||
rainbow (>= 2.2.2, < 4.0)
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||||
ruby-progressbar (1.9.0)
|
ruby-progressbar (1.9.0)
|
||||||
solargraph (0.23.3)
|
solargraph (0.23.6)
|
||||||
coderay (~> 1.1)
|
coderay (~> 1.1)
|
||||||
eventmachine (~> 1.2, >= 1.2.5)
|
eventmachine (~> 1.2, >= 1.2.5)
|
||||||
htmlentities (~> 4.3, >= 4.3.4)
|
htmlentities (~> 4.3, >= 4.3.4)
|
||||||
@ -40,7 +40,7 @@ GEM
|
|||||||
thor (0.20.0)
|
thor (0.20.0)
|
||||||
tilt (2.0.8)
|
tilt (2.0.8)
|
||||||
unicode-display_width (1.4.0)
|
unicode-display_width (1.4.0)
|
||||||
yard (0.9.14)
|
yard (0.9.15)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
@ -76,10 +76,10 @@
|
|||||||
dependencies = ["ast"];
|
dependencies = ["ast"];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9";
|
sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.5.1.0";
|
version = "2.5.1.2";
|
||||||
};
|
};
|
||||||
powerpack = {
|
powerpack = {
|
||||||
source = {
|
source = {
|
||||||
@ -110,10 +110,10 @@
|
|||||||
dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
|
dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "091simr4pvxnkm472ixk5lqbnhgznvmhjpjf98ppbx1r68a4mcp3";
|
sha256 = "0fc1fw9z98qd91ipsh9hdvpcb401qvkhw518s35l8a67sv4vdnj3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.58.0";
|
version = "0.58.2";
|
||||||
};
|
};
|
||||||
ruby-progressbar = {
|
ruby-progressbar = {
|
||||||
source = {
|
source = {
|
||||||
@ -127,10 +127,10 @@
|
|||||||
dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
|
dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1145g6x04fwmg8n51lsk7ybig31scndlj1i2i4lbrj9621bbqxfz";
|
sha256 = "01lh5vibr277vhhrgk6zl09ivb262c1qpk54ahzhc40zs309842b";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.23.3";
|
version = "0.23.6";
|
||||||
};
|
};
|
||||||
thor = {
|
thor = {
|
||||||
source = {
|
source = {
|
||||||
@ -159,9 +159,9 @@
|
|||||||
yard = {
|
yard = {
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "08kww2m1izjq56q2va2my0x3f3f0xsg6f07b6sgb4nl0scr6y10q";
|
sha256 = "145pbc0x95s6x296kh1wp5ykwy6srfcz946dgj83s35g8p52z4q4";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.9.14";
|
version = "0.9.15";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "yarn-${version}";
|
name = "yarn-${version}";
|
||||||
version = "1.9.2";
|
version = "1.9.4";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
|
url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
|
||||||
sha256 = "0bk006zs1bk6nwj9x07ry314fgxi21sk79h1paljbs6yzrv62h4g";
|
sha256 = "0lxncqvz66167ijhsi76ds2yp8140d9ywn89y5vm92010irsgs20";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ nodejs ];
|
buildInputs = [ nodejs ];
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
repo = "caprice32";
|
repo = "caprice32";
|
||||||
version = "unstable-2018-02-10";
|
version = "unstable-2018-03-05";
|
||||||
rev = "53de69543300f81af85df32cbd21bb5c68cab61e";
|
rev = "317fe638111e245d67e301f6f295094d3c859a70";
|
||||||
name = "${repo}-${version}";
|
name = "${repo}-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
inherit rev repo;
|
inherit rev repo;
|
||||||
owner = "ColinPitrat";
|
owner = "ColinPitrat";
|
||||||
sha256 = "12yv56blm49qmshpk4mgc802bs51wv2ra87hmcbf2wxma39c45fy";
|
sha256 = "1bywpmkizixcnr057k8zq9nlw0zhcmwkiriln0krgdcm7d3h9b86";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out";
|
postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out";
|
||||||
|
@ -100,6 +100,15 @@ in rec {
|
|||||||
dependencies = [ pkgs.fpp ];
|
dependencies = [ pkgs.fpp ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fzf-tmux-url = buildTmuxPluginFrom2Nix {
|
||||||
|
pluginName = "fzf-tmux-url";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/wfxr/tmux-fzf-url";
|
||||||
|
rev = "ecd518eec1067234598c01e655b048ff9d06ef2f";
|
||||||
|
sha256 = "0png8hdv91y2nivq5vdii2192mb2qcrkwwn69lzxrdnbfa27qrgv";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
logging = buildTmuxPluginFrom2Nix {
|
logging = buildTmuxPluginFrom2Nix {
|
||||||
pluginName = "logging";
|
pluginName = "logging";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
|
@ -1,39 +1,24 @@
|
|||||||
{ stdenv, fetchFromGitHub, gcc, gmp, libsigsegv, openssl, automake, autoconf, ragel,
|
{ stdenv, fetchFromGitHub, curl, git, gmp, libsigsegv, meson, ncurses, ninja
|
||||||
cmake, re2c, libtool, ncurses, perl, zlib, python2, curl }:
|
, openssl, pkgconfig, re2c, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "urbit-${version}";
|
name = "urbit-${version}";
|
||||||
version = "0.4.5";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "urbit";
|
owner = "urbit";
|
||||||
repo = "urbit";
|
repo = "urbit";
|
||||||
rev = "v${version}";
|
rev = "urbit-${version}";
|
||||||
sha256 = "1zgxgqbz74nsgfyrvsnjj6xxpb64mrnby7bb5qy733sy04gmzgik";
|
sha256 = "158mz6c6y5z1b6piid8hvrl5mcqh8q1ny185gz51jayia51azmgs";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with stdenv.lib; [
|
nativeBuildInputs = [ pkgconfig ninja meson ];
|
||||||
gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
|
buildInputs = [ curl git gmp libsigsegv ncurses openssl re2c zlib ];
|
||||||
ncurses perl zlib python2 curl
|
|
||||||
];
|
|
||||||
|
|
||||||
# uses 'readdir_r' deprecated by glibc 2.24
|
postPatch = ''
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
|
patchShebangs .
|
||||||
|
|
||||||
configurePhase = ''
|
|
||||||
:
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
sed -i 's/-lcurses/-lncurses/' Makefile
|
|
||||||
mkdir -p $out
|
|
||||||
cp -r . $out/
|
|
||||||
cd $out
|
|
||||||
make
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
:
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
|
{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
|
||||||
pythonPackages, readline, udev, libical,
|
python3, readline, udev, libical,
|
||||||
systemd, enableWiimote ? false, enableMidi ? false }:
|
systemd, enableWiimote ? false, enableMidi ? false }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z";
|
sha256 = "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonPath = with pythonPackages; [
|
pythonPath = with python3.pkgs; [
|
||||||
dbus-python pygobject2 pygobject3 recursivePthLoader
|
dbus-python pygobject2 pygobject3 recursivePthLoader
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
|
dbus glib alsaLib python3 python3.pkgs.wrapPython
|
||||||
readline udev libical
|
readline udev libical
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ let
|
|||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
makeFlags = [ "all" "fdb_java" ]
|
makeFlags = [ "all" "fdb_java" "fdb_python" ]
|
||||||
# Don't compile FDBLibTLS if we don't need it in 6.0 or later;
|
# Don't compile FDBLibTLS if we don't need it in 6.0 or later;
|
||||||
# it gets statically linked in
|
# it gets statically linked in
|
||||||
++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
|
++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
|
||||||
@ -106,17 +106,28 @@ let
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
|
mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
|
||||||
|
mkdir -vp $python/lib/${python.libPrefix}/site-packages
|
||||||
|
|
||||||
cp -v ./lib/libfdb_c.so $lib/lib
|
|
||||||
'' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
|
'' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
|
||||||
|
# we only copy the TLS library on < 6.0, since it's compiled-in otherwise
|
||||||
cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
|
cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
|
||||||
'' + ''
|
'' + ''
|
||||||
|
|
||||||
|
# C API
|
||||||
|
cp -v ./lib/libfdb_c.so $lib/lib
|
||||||
cp -v ./bindings/c/foundationdb/fdb_c.h $dev/include/foundationdb
|
cp -v ./bindings/c/foundationdb/fdb_c.h $dev/include/foundationdb
|
||||||
cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
|
cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
|
||||||
|
|
||||||
|
# java
|
||||||
cp -v ./bindings/java/foundationdb-client.jar $lib/share/java/fdb-java.jar
|
cp -v ./bindings/java/foundationdb-client.jar $lib/share/java/fdb-java.jar
|
||||||
|
|
||||||
|
# python
|
||||||
|
rm -f ./bindings/python/fdb/*.pth # remove useless files
|
||||||
|
cp -R ./bindings/python/fdb $python/lib/${python.libPrefix}/site-packages/fdb
|
||||||
|
# symlink a copy of the shared object into place, so that impl.py can load it
|
||||||
|
ln -sv $lib/lib/libfdb_c.so $python/lib/${python.libPrefix}/site-packages/fdb/libfdb_c.so
|
||||||
|
|
||||||
|
# binaries
|
||||||
for x in fdbbackup fdbcli fdbserver fdbmonitor; do
|
for x in fdbbackup fdbcli fdbserver fdbmonitor; do
|
||||||
cp -v "./bin/$x" $out/bin;
|
cp -v "./bin/$x" $out/bin;
|
||||||
done
|
done
|
||||||
@ -128,7 +139,7 @@ let
|
|||||||
ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
|
ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "lib" "dev" ];
|
outputs = [ "out" "lib" "dev" "python" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Open source, distributed, transactional key-value store";
|
description = "Open source, distributed, transactional key-value store";
|
||||||
@ -148,16 +159,15 @@ in with builtins; {
|
|||||||
};
|
};
|
||||||
|
|
||||||
foundationdb52 = makeFdb rec {
|
foundationdb52 = makeFdb rec {
|
||||||
version = "5.2.6";
|
version = "5.2.8";
|
||||||
branch = "release-5.2";
|
branch = "release-5.2";
|
||||||
rev = "refs/tags/v5.2.6"; # seemed to be tagged incorrectly
|
sha256 = "1kbmmhk2m9486r4kyjlc7bb3wd50204i0p6dxcmvl6pbp1bs0wlb";
|
||||||
sha256 = "1q3lq1hqq0f53n51gd4cw5cpayyw65dmkfplhsw1m5mghymzmskk";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
foundationdb60 = makeFdb rec {
|
foundationdb60 = makeFdb rec {
|
||||||
version = "6.0.3pre2446_${substring 0 8 rev}";
|
version = "6.0.4pre2497_${substring 0 8 rev}";
|
||||||
branch = "release-6.0";
|
branch = "release-6.0";
|
||||||
rev = "dd5481fb60ee1652986b2a028b31dcbb6cb171b5";
|
rev = "73d64cb244714c19bcc651122f6e7a9236aa11b5";
|
||||||
sha256 = "0mhlb728badk1h3410jbhy7f48m3jjnjna26wwyw5680xz72d6dm";
|
sha256 = "1jzmrf9kj0brqddlmxvzhj27r6843790jnqwkv1s3ri21fqb3hs7";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Do not edit!
|
# Do not edit!
|
||||||
|
|
||||||
{
|
{
|
||||||
version = "0.74.2";
|
version = "0.75.1";
|
||||||
components = {
|
components = {
|
||||||
"abode" = ps: with ps; [ ];
|
"abode" = ps: with ps; [ ];
|
||||||
"ads" = ps: with ps; [ ];
|
"ads" = ps: with ps; [ ];
|
||||||
@ -47,6 +47,7 @@
|
|||||||
"august" = ps: with ps; [ ];
|
"august" = ps: with ps; [ ];
|
||||||
"auth" = ps: with ps; [ aiohttp-cors ];
|
"auth" = ps: with ps; [ aiohttp-cors ];
|
||||||
"auth.indieauth" = ps: with ps; [ ];
|
"auth.indieauth" = ps: with ps; [ ];
|
||||||
|
"auth.login_flow" = ps: with ps; [ ];
|
||||||
"automation" = ps: with ps; [ ];
|
"automation" = ps: with ps; [ ];
|
||||||
"automation.event" = ps: with ps; [ ];
|
"automation.event" = ps: with ps; [ ];
|
||||||
"automation.homeassistant" = ps: with ps; [ ];
|
"automation.homeassistant" = ps: with ps; [ ];
|
||||||
@ -128,6 +129,7 @@
|
|||||||
"binary_sensor.skybell" = ps: with ps; [ ];
|
"binary_sensor.skybell" = ps: with ps; [ ];
|
||||||
"binary_sensor.sleepiq" = ps: with ps; [ ];
|
"binary_sensor.sleepiq" = ps: with ps; [ ];
|
||||||
"binary_sensor.spc" = ps: with ps; [ ];
|
"binary_sensor.spc" = ps: with ps; [ ];
|
||||||
|
"binary_sensor.tahoma" = ps: with ps; [ ];
|
||||||
"binary_sensor.tapsaff" = ps: with ps; [ ];
|
"binary_sensor.tapsaff" = ps: with ps; [ ];
|
||||||
"binary_sensor.tcp" = ps: with ps; [ ];
|
"binary_sensor.tcp" = ps: with ps; [ ];
|
||||||
"binary_sensor.tellduslive" = ps: with ps; [ ];
|
"binary_sensor.tellduslive" = ps: with ps; [ ];
|
||||||
@ -225,10 +227,12 @@
|
|||||||
"climate.proliphix" = ps: with ps; [ ];
|
"climate.proliphix" = ps: with ps; [ ];
|
||||||
"climate.radiotherm" = ps: with ps; [ ];
|
"climate.radiotherm" = ps: with ps; [ ];
|
||||||
"climate.sensibo" = ps: with ps; [ ];
|
"climate.sensibo" = ps: with ps; [ ];
|
||||||
|
"climate.spider" = ps: with ps; [ ];
|
||||||
"climate.tado" = ps: with ps; [ ];
|
"climate.tado" = ps: with ps; [ ];
|
||||||
"climate.tesla" = ps: with ps; [ ];
|
"climate.tesla" = ps: with ps; [ ];
|
||||||
"climate.toon" = ps: with ps; [ ];
|
"climate.toon" = ps: with ps; [ ];
|
||||||
"climate.touchline" = ps: with ps; [ ];
|
"climate.touchline" = ps: with ps; [ ];
|
||||||
|
"climate.tuya" = ps: with ps; [ ];
|
||||||
"climate.venstar" = ps: with ps; [ ];
|
"climate.venstar" = ps: with ps; [ ];
|
||||||
"climate.vera" = ps: with ps; [ ];
|
"climate.vera" = ps: with ps; [ ];
|
||||||
"climate.wink" = ps: with ps; [ ];
|
"climate.wink" = ps: with ps; [ ];
|
||||||
@ -259,6 +263,8 @@
|
|||||||
"counter" = ps: with ps; [ ];
|
"counter" = ps: with ps; [ ];
|
||||||
"cover" = ps: with ps; [ ];
|
"cover" = ps: with ps; [ ];
|
||||||
"cover.abode" = ps: with ps; [ ];
|
"cover.abode" = ps: with ps; [ ];
|
||||||
|
"cover.aladdin_connect" = ps: with ps; [ ];
|
||||||
|
"cover.brunt" = ps: with ps; [ ];
|
||||||
"cover.command_line" = ps: with ps; [ ];
|
"cover.command_line" = ps: with ps; [ ];
|
||||||
"cover.demo" = ps: with ps; [ ];
|
"cover.demo" = ps: with ps; [ ];
|
||||||
"cover.garadget" = ps: with ps; [ ];
|
"cover.garadget" = ps: with ps; [ ];
|
||||||
@ -282,6 +288,7 @@
|
|||||||
"cover.tellduslive" = ps: with ps; [ ];
|
"cover.tellduslive" = ps: with ps; [ ];
|
||||||
"cover.tellstick" = ps: with ps; [ ];
|
"cover.tellstick" = ps: with ps; [ ];
|
||||||
"cover.template" = ps: with ps; [ ];
|
"cover.template" = ps: with ps; [ ];
|
||||||
|
"cover.tuya" = ps: with ps; [ ];
|
||||||
"cover.velbus" = ps: with ps; [ ];
|
"cover.velbus" = ps: with ps; [ ];
|
||||||
"cover.vera" = ps: with ps; [ ];
|
"cover.vera" = ps: with ps; [ ];
|
||||||
"cover.wink" = ps: with ps; [ ];
|
"cover.wink" = ps: with ps; [ ];
|
||||||
@ -375,6 +382,7 @@
|
|||||||
"fan.isy994" = ps: with ps; [ ];
|
"fan.isy994" = ps: with ps; [ ];
|
||||||
"fan.mqtt" = ps: with ps; [ paho-mqtt ];
|
"fan.mqtt" = ps: with ps; [ paho-mqtt ];
|
||||||
"fan.template" = ps: with ps; [ ];
|
"fan.template" = ps: with ps; [ ];
|
||||||
|
"fan.tuya" = ps: with ps; [ ];
|
||||||
"fan.velbus" = ps: with ps; [ ];
|
"fan.velbus" = ps: with ps; [ ];
|
||||||
"fan.wink" = ps: with ps; [ ];
|
"fan.wink" = ps: with ps; [ ];
|
||||||
"fan.xiaomi_miio" = ps: with ps; [ construct ];
|
"fan.xiaomi_miio" = ps: with ps; [ construct ];
|
||||||
@ -482,6 +490,7 @@
|
|||||||
"light.enocean" = ps: with ps; [ ];
|
"light.enocean" = ps: with ps; [ ];
|
||||||
"light.eufy" = ps: with ps; [ ];
|
"light.eufy" = ps: with ps; [ ];
|
||||||
"light.flux_led" = ps: with ps; [ ];
|
"light.flux_led" = ps: with ps; [ ];
|
||||||
|
"light.futurenow" = ps: with ps; [ ];
|
||||||
"light.greenwave" = ps: with ps; [ ];
|
"light.greenwave" = ps: with ps; [ ];
|
||||||
"light.group" = ps: with ps; [ ];
|
"light.group" = ps: with ps; [ ];
|
||||||
"light.hive" = ps: with ps; [ ];
|
"light.hive" = ps: with ps; [ ];
|
||||||
@ -518,6 +527,7 @@
|
|||||||
"light.rpi_gpio_pwm" = ps: with ps; [ ];
|
"light.rpi_gpio_pwm" = ps: with ps; [ ];
|
||||||
"light.scsgate" = ps: with ps; [ ];
|
"light.scsgate" = ps: with ps; [ ];
|
||||||
"light.sensehat" = ps: with ps; [ ];
|
"light.sensehat" = ps: with ps; [ ];
|
||||||
|
"light.sisyphus" = ps: with ps; [ ];
|
||||||
"light.skybell" = ps: with ps; [ ];
|
"light.skybell" = ps: with ps; [ ];
|
||||||
"light.tellduslive" = ps: with ps; [ ];
|
"light.tellduslive" = ps: with ps; [ ];
|
||||||
"light.tellstick" = ps: with ps; [ ];
|
"light.tellstick" = ps: with ps; [ ];
|
||||||
@ -620,6 +630,7 @@
|
|||||||
"media_player.russound_rio" = ps: with ps; [ ];
|
"media_player.russound_rio" = ps: with ps; [ ];
|
||||||
"media_player.russound_rnet" = ps: with ps; [ ];
|
"media_player.russound_rnet" = ps: with ps; [ ];
|
||||||
"media_player.samsungtv" = ps: with ps; [ wakeonlan ];
|
"media_player.samsungtv" = ps: with ps; [ wakeonlan ];
|
||||||
|
"media_player.sisyphus" = ps: with ps; [ ];
|
||||||
"media_player.snapcast" = ps: with ps; [ ];
|
"media_player.snapcast" = ps: with ps; [ ];
|
||||||
"media_player.songpal" = ps: with ps; [ ];
|
"media_player.songpal" = ps: with ps; [ ];
|
||||||
"media_player.sonos" = ps: with ps; [ soco ];
|
"media_player.sonos" = ps: with ps; [ soco ];
|
||||||
@ -770,6 +781,7 @@
|
|||||||
"scene.litejet" = ps: with ps; [ ];
|
"scene.litejet" = ps: with ps; [ ];
|
||||||
"scene.lutron_caseta" = ps: with ps; [ ];
|
"scene.lutron_caseta" = ps: with ps; [ ];
|
||||||
"scene.tahoma" = ps: with ps; [ ];
|
"scene.tahoma" = ps: with ps; [ ];
|
||||||
|
"scene.tuya" = ps: with ps; [ ];
|
||||||
"scene.velux" = ps: with ps; [ ];
|
"scene.velux" = ps: with ps; [ ];
|
||||||
"scene.vera" = ps: with ps; [ ];
|
"scene.vera" = ps: with ps; [ ];
|
||||||
"scene.wink" = ps: with ps; [ ];
|
"scene.wink" = ps: with ps; [ ];
|
||||||
@ -896,6 +908,7 @@
|
|||||||
"sensor.loopenergy" = ps: with ps; [ ];
|
"sensor.loopenergy" = ps: with ps; [ ];
|
||||||
"sensor.luftdaten" = ps: with ps; [ luftdaten ];
|
"sensor.luftdaten" = ps: with ps; [ luftdaten ];
|
||||||
"sensor.lyft" = ps: with ps; [ ];
|
"sensor.lyft" = ps: with ps; [ ];
|
||||||
|
"sensor.magicseaweed" = ps: with ps; [ ];
|
||||||
"sensor.melissa" = ps: with ps; [ ];
|
"sensor.melissa" = ps: with ps; [ ];
|
||||||
"sensor.metoffice" = ps: with ps; [ ];
|
"sensor.metoffice" = ps: with ps; [ ];
|
||||||
"sensor.mfi" = ps: with ps; [ ];
|
"sensor.mfi" = ps: with ps; [ ];
|
||||||
@ -1048,6 +1061,7 @@
|
|||||||
"shell_command" = ps: with ps; [ ];
|
"shell_command" = ps: with ps; [ ];
|
||||||
"shiftr" = ps: with ps; [ paho-mqtt ];
|
"shiftr" = ps: with ps; [ paho-mqtt ];
|
||||||
"shopping_list" = ps: with ps; [ aiohttp-cors ];
|
"shopping_list" = ps: with ps; [ aiohttp-cors ];
|
||||||
|
"sisyphus" = ps: with ps; [ ];
|
||||||
"skybell" = ps: with ps; [ ];
|
"skybell" = ps: with ps; [ ];
|
||||||
"sleepiq" = ps: with ps; [ ];
|
"sleepiq" = ps: with ps; [ ];
|
||||||
"smappee" = ps: with ps; [ ];
|
"smappee" = ps: with ps; [ ];
|
||||||
@ -1055,6 +1069,7 @@
|
|||||||
"sonos" = ps: with ps; [ soco ];
|
"sonos" = ps: with ps; [ soco ];
|
||||||
"spaceapi" = ps: with ps; [ aiohttp-cors ];
|
"spaceapi" = ps: with ps; [ aiohttp-cors ];
|
||||||
"spc" = ps: with ps; [ websockets ];
|
"spc" = ps: with ps; [ websockets ];
|
||||||
|
"spider" = ps: with ps; [ ];
|
||||||
"splunk" = ps: with ps; [ ];
|
"splunk" = ps: with ps; [ ];
|
||||||
"statsd" = ps: with ps; [ statsd ];
|
"statsd" = ps: with ps; [ statsd ];
|
||||||
"sun" = ps: with ps; [ ];
|
"sun" = ps: with ps; [ ];
|
||||||
@ -1128,6 +1143,7 @@
|
|||||||
"switch.skybell" = ps: with ps; [ ];
|
"switch.skybell" = ps: with ps; [ ];
|
||||||
"switch.smappee" = ps: with ps; [ ];
|
"switch.smappee" = ps: with ps; [ ];
|
||||||
"switch.snmp" = ps: with ps; [ pysnmp ];
|
"switch.snmp" = ps: with ps; [ pysnmp ];
|
||||||
|
"switch.spider" = ps: with ps; [ ];
|
||||||
"switch.tahoma" = ps: with ps; [ ];
|
"switch.tahoma" = ps: with ps; [ ];
|
||||||
"switch.tellduslive" = ps: with ps; [ ];
|
"switch.tellduslive" = ps: with ps; [ ];
|
||||||
"switch.tellstick" = ps: with ps; [ ];
|
"switch.tellstick" = ps: with ps; [ ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, fetchFromGitHub, python3
|
{ lib, fetchFromGitHub, fetchpatch, python3
|
||||||
|
|
||||||
# Look up dependencies of specified components in component-packages.nix
|
# Look up dependencies of specified components in component-packages.nix
|
||||||
, extraComponents ? []
|
, extraComponents ? []
|
||||||
@ -29,10 +29,10 @@ let
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
|
voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "0.11.1";
|
version = "0.11.5";
|
||||||
src = oldAttrs.src.override {
|
src = oldAttrs.src.override {
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "af7315c9fa99e0bfd195a21106c82c81619b42f0bd9b6e287b797c6b6b6a9918";
|
sha256 = "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
attrs = super.attrs.overridePythonAttrs (oldAttrs: rec {
|
attrs = super.attrs.overridePythonAttrs (oldAttrs: rec {
|
||||||
@ -74,7 +74,7 @@ let
|
|||||||
extraBuildInputs = extraPackages py.pkgs;
|
extraBuildInputs = extraPackages py.pkgs;
|
||||||
|
|
||||||
# Don't forget to run parse-requirements.py after updating
|
# Don't forget to run parse-requirements.py after updating
|
||||||
hassVersion = "0.74.2";
|
hassVersion = "0.75.1";
|
||||||
|
|
||||||
in with py.pkgs; buildPythonApplication rec {
|
in with py.pkgs; buildPythonApplication rec {
|
||||||
pname = "homeassistant";
|
pname = "homeassistant";
|
||||||
@ -89,7 +89,16 @@ in with py.pkgs; buildPythonApplication rec {
|
|||||||
owner = "home-assistant";
|
owner = "home-assistant";
|
||||||
repo = "home-assistant";
|
repo = "home-assistant";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "02wdvkcl4zjw009a5ylblk5blpf5rhlvch8vsg4cx07sj9xgjzmw";
|
sha256 = "1slm2r48yh4l57wnvalin6mnk3id2phsaqpd4qy0c0ksqc61ffqk";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Upgrade voluptuous to 0.11.5
|
||||||
|
# Needed because voluptuous-0.11.3 requires pypandoc
|
||||||
|
# See https://github.com/home-assistant/home-assistant/pull/15830#issuecomment-410485197
|
||||||
|
patches = fetchpatch {
|
||||||
|
name = "upgrade-voluptuous.patch";
|
||||||
|
url = https://github.com/home-assistant/home-assistant/commit/9ea3be4dc112fb45544fa089cb367c7f4f91b5f0.patch;
|
||||||
|
sha256 = "0wacs9aifdysw6jpz86d6cqah8spi48pwwcbydj9l8zxndzqp6na";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "home-assistant-frontend";
|
pname = "home-assistant-frontend";
|
||||||
version = "20180720.0";
|
version = "20180804.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "4a9d570cfc1d6b0e4b914897197d6772d48aa38b10202a648e79c5fb2a6a0293";
|
sha256 = "50a9e74efe2b56fbc34fba07205829e0ea77315183e85c235d177cabff3b62ee";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ user-agents ];
|
propagatedBuildInputs = [ user-agents ];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ callPackage, ... }@args:
|
{ callPackage, ... }@args:
|
||||||
|
|
||||||
callPackage ./generic.nix (args // {
|
callPackage ./generic.nix (args // {
|
||||||
version = "1.15.1";
|
version = "1.15.2";
|
||||||
sha256 = "0q2lkpnfqf74p22vrcldx0gcnss3is7rnp54fgpvhcpqsxc6h867";
|
sha256 = "145dcypq8dqc5as03iy1ycwifwynq9p4i8m56fn7g0myryp0kfpf";
|
||||||
})
|
})
|
||||||
|
@ -94,6 +94,16 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
lua-upstream = {
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "openresty";
|
||||||
|
repo = "lua-upstream-nginx-module";
|
||||||
|
rev = "v0.07";
|
||||||
|
sha256 = "1gqccg8airli3i9103zv1zfwbjm27h235qjabfbfqk503rjamkpk";
|
||||||
|
};
|
||||||
|
inputs = [ pkgs.luajit ];
|
||||||
|
};
|
||||||
|
|
||||||
modsecurity = {
|
modsecurity = {
|
||||||
src = "${pkgs.modsecurity_standalone.nginx}/nginx/modsecurity";
|
src = "${pkgs.modsecurity_standalone.nginx}/nginx/modsecurity";
|
||||||
inputs = [ pkgs.curl pkgs.apr pkgs.aprutil pkgs.apacheHttpd pkgs.yajl ];
|
inputs = [ pkgs.curl pkgs.apr pkgs.aprutil pkgs.apacheHttpd pkgs.yajl ];
|
||||||
@ -215,6 +225,33 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stream-sts = {
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "vozlt";
|
||||||
|
repo = "nginx-module-stream-sts";
|
||||||
|
rev = "v0.1.1";
|
||||||
|
sha256 = "1jdj1kik6l3rl9nyx61xkqk7hmqbncy0rrqjz3dmjqsz92y8zaya";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sts = {
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "vozlt";
|
||||||
|
repo = "nginx-module-sts";
|
||||||
|
rev = "v0.1.1";
|
||||||
|
sha256 = "0nvb29641x1i7mdbydcny4qwlvdpws38xscxirajd2x7nnfdflrk";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sysguard = {
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "vozlt";
|
||||||
|
repo = "nginx-module-sysguard";
|
||||||
|
rev = "e512897f5aba4f79ccaeeebb51138f1704a58608";
|
||||||
|
sha256 = "19c6w6wscbq9phnx7vzbdf4ay6p2ys0g7kp2rmc9d4fb53phrhfx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
upstream-check = {
|
upstream-check = {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yaoweibin";
|
owner = "yaoweibin";
|
||||||
@ -234,6 +271,15 @@
|
|||||||
inputs = [ pkgs.msgpuck.dev pkgs.yajl ];
|
inputs = [ pkgs.msgpuck.dev pkgs.yajl ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
url = {
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "vozlt";
|
||||||
|
repo = "nginx-module-url";
|
||||||
|
rev = "9299816ca6bc395625c3683fbd2aa7b916bfe91e";
|
||||||
|
sha256 = "0mk1gjmfnry6hgdsnlavww9bn7223idw50jlkhh5k00q5509w4ip";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
vts = {
|
vts = {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vozlt";
|
owner = "vozlt";
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
, opusSupport ? true, libopus
|
, opusSupport ? true, libopus
|
||||||
, soundcloudSupport ? true, yajl
|
, soundcloudSupport ? true, yajl
|
||||||
, nfsSupport ? true, libnfs
|
, nfsSupport ? true, libnfs
|
||||||
, smbSupport ? true, smbclient
|
, smbSupport ? true, samba
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert avahiSupport -> avahi != null && dbus != null;
|
assert avahiSupport -> avahi != null && dbus != null;
|
||||||
@ -85,7 +85,7 @@ in stdenv.mkDerivation rec {
|
|||||||
++ opt opusSupport libopus
|
++ opt opusSupport libopus
|
||||||
++ opt soundcloudSupport yajl
|
++ opt soundcloudSupport yajl
|
||||||
++ opt (!stdenv.isDarwin && nfsSupport) libnfs
|
++ opt (!stdenv.isDarwin && nfsSupport) libnfs
|
||||||
++ opt (!stdenv.isDarwin && smbSupport) smbclient;
|
++ opt (!stdenv.isDarwin && smbSupport) samba;
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
|
|
||||||
|
@ -22,14 +22,14 @@ galeraLibs = buildEnv {
|
|||||||
};
|
};
|
||||||
|
|
||||||
common = rec { # attributes common to both builds
|
common = rec { # attributes common to both builds
|
||||||
version = "10.3.8";
|
version = "10.2.16";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
"https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
|
"https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
|
||||||
"https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
|
"https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
|
||||||
];
|
];
|
||||||
sha256 = "1f0syfrv0my7sm8cbpic00ldy90psimy8yvm0ld82bfi2isw3gih";
|
sha256 = "1i2dwpp96ywjk147qqpcad8vqcy4rxmfbv2cb8ww3sffpa9yx0n1";
|
||||||
name = "mariadb-${version}.tar.gz";
|
name = "mariadb-${version}.tar.gz";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, writeScriptBin, lib, fetchurl, git, cacert
|
{ stdenv, writeScriptBin, makeWrapper, lib, fetchurl, git, cacert, libpng, libjpeg, libwebp
|
||||||
, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd
|
, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd
|
||||||
, flock
|
, flock
|
||||||
, withMysql ? false
|
, withMysql ? false
|
||||||
@ -24,17 +24,17 @@ let
|
|||||||
ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
|
ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "18.01";
|
version = "18.06";
|
||||||
name = "ejabberd-${version}";
|
name = "ejabberd-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
|
url = "https://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
|
||||||
sha256 = "01i2n8mlgw293jdf4172f9q8ca8m35vysjws791p7nynpfdb4cn6";
|
sha256 = "1c4h6qrckihm8v4vm52h31j5dxg7247vk374rwz41idfb25vx7dc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ fakegit ];
|
nativeBuildInputs = [ fakegit ];
|
||||||
|
|
||||||
buildInputs = [ erlang openssl expat libyaml gd ]
|
buildInputs = [ erlang openssl expat libyaml gd makeWrapper ]
|
||||||
++ lib.optional withSqlite sqlite
|
++ lib.optional withSqlite sqlite
|
||||||
++ lib.optional withPam pam
|
++ lib.optional withPam pam
|
||||||
++ lib.optional withZlib zlib
|
++ lib.optional withZlib zlib
|
||||||
@ -75,7 +75,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHash = "1v3h0c7kfifb6wsfxyv5j1wc7rlxbb7r0pgd4s340wiyxnllzzhk";
|
outputHash = "1bk3yd10cq6vlgmh2qawl82m29yi5zcbsdlz17xyy76sg2ka622a";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
@ -106,6 +106,7 @@ in stdenv.mkDerivation rec {
|
|||||||
-e 's,\(^ *JOT=\).*,\1,' \
|
-e 's,\(^ *JOT=\).*,\1,' \
|
||||||
-e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
|
-e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
|
||||||
$out/sbin/ejabberdctl
|
$out/sbin/ejabberdctl
|
||||||
|
wrapProgram $out/lib/eimp-*/priv/bin/eimp --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libpng libjpeg libwebp ]}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "antibody-${version}";
|
name = "antibody-${version}";
|
||||||
version = "3.5.1";
|
version = "3.6.1";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
|
|
||||||
goPackagePath = "github.com/getantibody/antibody";
|
goPackagePath = "github.com/getantibody/antibody";
|
||||||
@ -11,7 +11,7 @@ buildGoPackage rec {
|
|||||||
inherit rev;
|
inherit rev;
|
||||||
owner = "getantibody";
|
owner = "getantibody";
|
||||||
repo = "antibody";
|
repo = "antibody";
|
||||||
sha256 = "0bqq59vnnm80jiqlhn7wfyzj96nkv8k9zp8i4sgcj8gvk1zq2lbc";
|
sha256 = "1xlaf3440hs1ffa23ja0fc185sj0rxjv0808ib8li3rq2qfkd0k8";
|
||||||
};
|
};
|
||||||
|
|
||||||
goDeps = ./deps.nix;
|
goDeps = ./deps.nix;
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
{ stdenv, pythonPackages, bash }:
|
{ stdenv, python3Packages, bash }:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "simp_le-client";
|
pname = "simp_le-client";
|
||||||
version = "0.8.0";
|
version = "0.9.0";
|
||||||
|
|
||||||
src = pythonPackages.fetchPypi {
|
src = python3Packages.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "0nv9mm99rm8i9flgfgwvmajbsxb5rm162nfxlq3wk66bbbyr6y1i";
|
sha256 = "1yxfznd78zkg2f657v520zj5w4dvq5n594d0kpm4lra8xnpg4zcv";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# drop upper bound of acme requirement
|
# drop upper bound of acme requirement
|
||||||
sed -ri "s/'(acme>=[^,]+),<[^']+'/'\1'/" setup.py
|
sed -ri "s/'(acme>=[^,]+),<[^']+'/'\1'/" setup.py
|
||||||
|
# drop upper bound of idna requirement
|
||||||
|
sed -ri "s/'(idna)<[^']+'/'\1'/" setup.py
|
||||||
substituteInPlace simp_le.py \
|
substituteInPlace simp_le.py \
|
||||||
--replace "/bin/sh" "${bash}/bin/sh"
|
--replace "/bin/sh" "${bash}/bin/sh"
|
||||||
'';
|
'';
|
||||||
@ -20,14 +22,13 @@ pythonPackages.buildPythonApplication rec {
|
|||||||
$out/bin/simp_le --test
|
$out/bin/simp_le --test
|
||||||
'';
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = with pythonPackages; [ acme setuptools_scm josepy ];
|
propagatedBuildInputs = with python3Packages; [ acme setuptools_scm josepy idna ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/zenhack/simp_le;
|
homepage = https://github.com/zenhack/simp_le;
|
||||||
description = "Simple Let's Encrypt client";
|
description = "Simple Let's Encrypt client";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ gebner makefu ];
|
maintainers = with maintainers; [ gebner makefu ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,15 @@ stdenv.mkDerivation rec {
|
|||||||
# remaps /etc/passwd to a trivial file, but we can't do that on Darwin so I do this
|
# remaps /etc/passwd to a trivial file, but we can't do that on Darwin so I do this
|
||||||
# instead. In this case, I pass in the very imaginative "submitter" as the submitter name
|
# instead. In this case, I pass in the very imaginative "submitter" as the submitter name
|
||||||
|
|
||||||
patchPhase = let
|
patches = [
|
||||||
|
# CVE-2018-1000097
|
||||||
|
(fetchurl {
|
||||||
|
url = "https://sources.debian.org/data/main/s/sharutils/1:4.15.2-2+deb9u1/debian/patches/01-fix-heap-buffer-overflow-cve-2018-1000097.patch";
|
||||||
|
sha256 = "19g0sxc8g79aj5gd5idz5409311253jf2q8wqkasf0handdvsbxx";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = let
|
||||||
# This evaluates to a string containing:
|
# This evaluates to a string containing:
|
||||||
#
|
#
|
||||||
# substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter'
|
# substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter'
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ lib, buildPythonApplication, fetchFromGitHub, protobuf, roundup }:
|
{ lib, python2, fetchFromGitHub, roundup }:
|
||||||
|
|
||||||
buildPythonApplication rec {
|
python2.pkgs.buildPythonApplication rec {
|
||||||
pname = "ddar";
|
pname = "ddar";
|
||||||
version = "1.0";
|
version = "1.0";
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ buildPythonApplication rec {
|
|||||||
make -f Makefile.prep synctus/ddar_pb2.py
|
make -f Makefile.prep synctus/ddar_pb2.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [ protobuf ];
|
propagatedBuildInputs = with python2.pkgs; [ protobuf ];
|
||||||
|
|
||||||
checkInputs = [ roundup ];
|
checkInputs = [ roundup ];
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, coreutils, python, duplicity, gawk, gnupg1, bash
|
{ stdenv, fetchurl, coreutils, python2, duplicity, gawk, gnupg1, bash
|
||||||
, gnugrep, txt2man, makeWrapper, which
|
, gnugrep, txt2man, makeWrapper, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
|||||||
mkdir -p "$out/share/man/man1"
|
mkdir -p "$out/share/man/man1"
|
||||||
install -vD duply "$out/bin"
|
install -vD duply "$out/bin"
|
||||||
wrapProgram "$out/bin/duply" --set PATH \
|
wrapProgram "$out/bin/duply" --set PATH \
|
||||||
${stdenv.lib.makeBinPath [ coreutils python duplicity gawk gnupg1 bash gnugrep txt2man which ]}
|
${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}
|
||||||
"$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
|
"$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
{ stdenv, lib, fetchurl, intltool, pkgconfig, pythonPackages, bluez, gtk3
|
{ stdenv, lib, fetchurl, intltool, pkgconfig, python3Packages, bluez, gtk3
|
||||||
, obex_data_server, xdg_utils, libnotify, dnsmasq, dhcp
|
, obex_data_server, xdg_utils, libnotify, dnsmasq, dhcp
|
||||||
, hicolor-icon-theme, librsvg, wrapGAppsHook, gobjectIntrospection
|
, hicolor-icon-theme, librsvg, wrapGAppsHook, gobjectIntrospection
|
||||||
, withPulseAudio ? true, libpulseaudio }:
|
, withPulseAudio ? true, libpulseaudio }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
pythonPackages = python3Packages;
|
||||||
binPath = lib.makeBinPath [ xdg_utils dnsmasq dhcp ];
|
binPath = lib.makeBinPath [ xdg_utils dnsmasq dhcp ];
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "f2fs-tools-${version}";
|
name = "f2fs-tools-${version}";
|
||||||
version = "1.10.0";
|
version = "1.11.0";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
|
url = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "1254pd254l1hxkzkkzqmzc0j9vywj2wddg9apqaixjninj21jrbc";
|
sha256 = "188yv77ga466wpzbirsx6vspym8idaschgi7cx92z4jwqpnkk5gv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
|
@ -6,7 +6,7 @@ with stdenv.lib;
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "squashfuse";
|
pname = "squashfuse";
|
||||||
version = "unstable-2018-02-20";
|
version = "0.1.103";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vasi";
|
owner = "vasi";
|
||||||
repo = "${pname}";
|
repo = "${pname}";
|
||||||
rev = "3f4a93f373796e88f7eee3a0c005ef60cb395d30";
|
rev = "540204955134eee44201d50132a5f66a246bcfaf";
|
||||||
sha256 = "07jv4qjjz9ky3mw3p5prgs19g1bna9dcd7jjdz8083s1wyipdgcq";
|
sha256 = "07jv4qjjz9ky3mw3p5prgs19g1bna9dcd7jjdz8083s1wyipdgcq";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,22 +1,26 @@
|
|||||||
{ stdenv, fetchFromGitHub, rustPlatform }:
|
{ stdenv, fetchFromGitHub, rustPlatform }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
version = "1.0.1";
|
version = "2.1.0";
|
||||||
name = "oxipng-${version}";
|
name = "oxipng-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "shssoichiro";
|
owner = "shssoichiro";
|
||||||
repo = "oxipng";
|
repo = "oxipng";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0w39f0dhq9cxk25vy0wh8vicxyckvj1vmglx5va4550i3q0hsrws";
|
sha256 = "13rzkfb025y4i9dj66fgc74whgs90gyw861dccsj16cpfl6kh5z0";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "00nbx6n73yl4ax05pqkmim1vhy0pymgz5la1cc4y18gjbjjj9w4h";
|
cargoSha256 = "0l6ad8rnifd5hkv6x2cr0frdddsfwm1xd1v56imlglsjkgz56cva";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/shssoichiro/oxipng;
|
homepage = https://github.com/shssoichiro/oxipng;
|
||||||
description = "A lossless PNG compression optimizer";
|
description = "A lossless PNG compression optimizer";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ dywedir ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
|
||||||
|
# macro is_arm_feature_detected! is unstable
|
||||||
|
broken = stdenv.isAarch64;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
23
pkgs/tools/graphics/scour/default.nix
Normal file
23
pkgs/tools/graphics/scour/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, python3 }:
|
||||||
|
|
||||||
|
with python3.pkgs;
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "scour";
|
||||||
|
version = "0.37";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "05k1f8i8v7sp5v39lian865vwvapq05a6vmvk7fwnxv8kivi6ccn";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ six ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "An SVG Optimizer / Cleaner ";
|
||||||
|
homepage = https://github.com/scour-project/scour;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ worldofpeace ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchFromGitHub, makeWrapper, pythonPackages, perl, zip
|
{ stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip
|
||||||
, rtmpdump }:
|
, rtmpdump }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pythonPackages) python nose pycrypto requests mock;
|
inherit (python3Packages) python nose pycrypto requests mock;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "svtplay-dl-${version}";
|
name = "svtplay-dl-${version}";
|
||||||
version = "1.9.11";
|
version = "1.9.11";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ useLua ? !stdenv.isDarwin
|
{ useLua ? !stdenv.isDarwin
|
||||||
, usePcre ? true
|
, usePcre ? true
|
||||||
, stdenv, fetchurl, fetchpatch
|
, stdenv, fetchurl
|
||||||
, openssl, zlib, lua5_3 ? null, pcre ? null
|
, openssl, zlib, lua5_3 ? null, pcre ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -9,26 +9,14 @@ assert usePcre -> pcre != null;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "haproxy";
|
pname = "haproxy";
|
||||||
version = "1.8.9";
|
version = "1.8.13";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
|
url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
|
||||||
sha256 = "00miblgwll3mycsgmp3gd3cn4lwsagxzgjxk5i6csnyqgj97fss3";
|
sha256 = "2bf5dafbb5f1530c0e67ab63666565de948591f8e0ee2a1d3c84c45e738220f1";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2018-11469.patch";
|
|
||||||
url = "https://git.haproxy.org/?p=haproxy-1.8.git;a=patch;h=17514045e5d934dede62116216c1b016fe23dd06";
|
|
||||||
sha256 = "0hzcvghg8qz45n3mrcgsjgvrvicvbvm52cc4hs5jbk1yb50qvls7";
|
|
||||||
})
|
|
||||||
] ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch {
|
|
||||||
name = "fix-darwin-no-threads-build.patch";
|
|
||||||
url = "https://git.haproxy.org/?p=haproxy-1.8.git;a=patch;h=fbf09c441a4e72c4a690bc7ef25d3374767fe5c5;hp=3157ef219c493f3b01192f1b809a086a5b119a1e";
|
|
||||||
sha256 = "16ckzb160anf7xih7mmqy59pfz8sdywmyblxnr7lz9xix3jwk55r";
|
|
||||||
});
|
|
||||||
|
|
||||||
buildInputs = [ openssl zlib ]
|
buildInputs = [ openssl zlib ]
|
||||||
++ stdenv.lib.optional useLua lua5_3
|
++ stdenv.lib.optional useLua lua5_3
|
||||||
++ stdenv.lib.optional usePcre pcre;
|
++ stdenv.lib.optional usePcre pcre;
|
||||||
@ -51,7 +39,8 @@ stdenv.mkDerivation rec {
|
|||||||
"USE_LUA=yes"
|
"USE_LUA=yes"
|
||||||
"LUA_LIB=${lua5_3}/lib"
|
"LUA_LIB=${lua5_3}/lib"
|
||||||
"LUA_INC=${lua5_3}/include"
|
"LUA_INC=${lua5_3}/include"
|
||||||
] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc";
|
] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc"
|
||||||
|
++ stdenv.lib.optional stdenv.isLinux "USE_GETADDRINFO=1";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Reliable, high performance TCP/HTTP load balancer";
|
description = "Reliable, high performance TCP/HTTP load balancer";
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user