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:
Vladimír Čunát 2018-08-06 12:07:37 +02:00
commit f504af072b
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
112 changed files with 2429 additions and 2492 deletions

View File

@ -103,8 +103,9 @@
<itemizedlist>
<listitem>
<para>
mention-bot usually notifies GitHub users based on the submitted changes,
but it can happen that it misses some of the package maintainers.
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link>
will make GitHub notify users based on the submitted changes, but it can
happen that it misses some of the package maintainers.
</para>
</listitem>
</itemizedlist>
@ -376,8 +377,9 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
<itemizedlist>
<listitem>
<para>
Mention-bot notify GitHub users based on the submitted changes, but it
can happen that it miss some of the package maintainers.
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link>
will make GitHub notify users based on the submitted changes, but it can
happen that it misses some of the package maintainers.
</para>
</listitem>
</itemizedlist>

View File

@ -1689,6 +1689,11 @@
github = "imalsogreg";
name = "Greg Hale";
};
imuli = {
email = "i@imu.li";
github = "imuli";
name = "Imuli";
};
infinisil = {
email = "infinisil@icloud.com";
github = "infinisil";
@ -2094,6 +2099,11 @@
github = "kuznero";
name = "Roman Kuznetsov";
};
kylewlacy = {
email = "kylelacy+nix@pm.me";
github = "kylewlacy";
name = "Kyle Lacy";
};
lasandell = {
email = "lasandell@gmail.com";
github = "lasandell";

View File

@ -73,6 +73,12 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
</para>
<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>
<para>
When enabled the <literal>iproute2</literal> will copy the files expected

View File

@ -536,6 +536,13 @@ if ($showHardwareConfig) {
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = 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
} elsif ($virt ne "systemd-nspawn") {
$bootLoaderConfig = <<EOF;

View File

@ -9,7 +9,6 @@ with lib;
(mkRenamedOptionModule [ "system" "nixos" "stateVersion" ] [ "system" "stateVersion" ])
(mkRenamedOptionModule [ "system" "nixos" "defaultChannel" ] [ "system" "defaultChannel" ])
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
(mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])

View File

@ -12,12 +12,10 @@
<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,
transactional key-value store. It can store petabytes of data and deliver
exceptional performance while maintaining consistency and ACID semantics
(serializable transactions) over a large cluster.</para>
<para>FoundationDB (or "FDB") is an open source, distributed, transactional
key-value store.</para>
<section><title>Configuring and basic setup</title>
@ -26,12 +24,12 @@ exceptional performance while maintaining consistency and ACID semantics
<programlisting>
services.foundationdb.enable = true;
services.foundationdb.package = pkgs.foundationdb51; # FoundationDB 5.1.x
services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x
</programlisting>
</para>
<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
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,
@ -70,6 +68,40 @@ fdb>
</programlisting>
</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
group by default, but this may be changed in the NixOS configuration. 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
processes inherit all the global <command>fdbmonitor</command> settings.
</para></listitem>
<listitem><para>Python 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>
</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
relevant configuration options for <command>fdbmonitor</command>, matching it
quite closely. For a complete list of all options, check <command>man
configuration.nix</command>.</para>
quite closely. A complete list of options for the FoundationDB module may be
found <link linkend="opt-services.foundationdb.enable">here</link>. You should
also read the FoundationDB documentation as well.</para>
</section>

View File

@ -47,7 +47,7 @@ in
###### implementation
config = mkIf cfg.enable {
services.dysnomia.enable = true;
dysnomia.enable = true;
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;

View File

@ -3,7 +3,7 @@
with lib;
let
cfg = config.services.dysnomia;
cfg = config.dysnomia;
printProperties = properties:
concatMapStrings (propertyName:
@ -69,7 +69,7 @@ let
in
{
options = {
services.dysnomia = {
dysnomia = {
enable = mkOption {
type = types.bool;
@ -142,7 +142,7 @@ in
environment.systemPackages = [ cfg.package ];
services.dysnomia.package = pkgs.dysnomia.override (origArgs: {
dysnomia.package = pkgs.dysnomia.override (origArgs: {
enableApacheWebApplication = config.services.httpd.enable;
enableAxis2WebService = config.services.tomcat.axis2.enable;
enableEjabberdDump = config.services.ejabberd.enable;
@ -153,7 +153,7 @@ in
enableMongoDatabase = config.services.mongodb.enable;
});
services.dysnomia.properties = {
dysnomia.properties = {
hostname = config.networking.hostName;
inherit (config.nixpkgs.localSystem) system;
@ -171,7 +171,7 @@ in
}}");
};
services.dysnomia.containers = lib.recursiveUpdate ({
dysnomia.containers = lib.recursiveUpdate ({
process = {};
wrapper = {};
}

View File

@ -57,12 +57,6 @@ let
--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 = {
PYTHONPATH = let
cenv = pkgs.python.buildEnv.override {
@ -412,18 +406,16 @@ in {
after = [ "network.target" ];
environment = carbonEnv;
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
PIDFile="/run/${name}/${name}.pid";
};
preStart = mkPidFileDir name + ''
mkdir -p ${cfg.dataDir}/whisper
chmod 0700 ${cfg.dataDir}/whisper
chown graphite:graphite ${cfg.dataDir}
chown graphite:graphite ${cfg.dataDir}/whisper
preStart = ''
install -dm0700 -o graphite -g graphite ${cfg.dataDir}
install -dm0700 -o graphite -g graphite ${cfg.dataDir}/whisper
'';
};
})
@ -436,12 +428,12 @@ in {
after = [ "network.target" ];
environment = carbonEnv;
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite";
Group = "graphite";
PIDFile="/run/${name}/${name}.pid";
};
preStart = mkPidFileDir name;
};
})
@ -452,12 +444,12 @@ in {
after = [ "network.target" ];
environment = carbonEnv;
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite";
Group = "graphite";
PIDFile="/run/${name}/${name}.pid";
};
preStart = mkPidFileDir name;
};
})

View File

@ -14,6 +14,10 @@ let
global = {
"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);
configFile = pkgs.writeText "netdata.conf" (if cfg.configText != null then cfg.configText else mkConfig);

View File

@ -23,7 +23,7 @@ let
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
$out/greeter \
--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_EXE_PREFIX "${theme}" \
--set GTK_DATA_PREFIX "${theme}" \

View File

@ -43,6 +43,7 @@ def write_loader_conf(profile, generation):
f.write("default nixos-generation-%d\n" % (generation))
if not @editor@:
f.write("editor 0");
f.write("console-mode @consoleMode@\n");
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
def profile_path(profile, generation, name):

View File

@ -22,6 +22,8 @@ let
editor = if cfg.editor then "True" else "False";
inherit (cfg) consoleMode;
inherit (efi) efiSysMountPoint canTouchEfiVariables;
};
in {
@ -52,6 +54,38 @@ in {
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 {

View File

@ -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 {
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 =
''
${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 =
[''
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*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"

View File

@ -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: {
certifi = pysuper.certifi.overridePythonAttrs (attrs: {
postPatch = (attrs.postPatch or "") + ''

View File

@ -19,8 +19,12 @@ import ./make-test.nix ({ pkgs, ...} : {
startAll;
$netdata->waitForUnit("netdata.service");
# check if netdata can read disk ops for root owned processes.
# if > 0, successful. verifies both netdata working and
# 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.
# if > 0, successful. verifies both netdata working and
# apps.plugin has elevated capabilities.
my $cmd = <<'CMD';
curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \

View File

@ -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 {
name = "ams-lv2-${version}";
@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
};
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; {
description = "An LV2 port of the internal modules found in Alsa Modular Synth";

View 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;
};
}

View File

@ -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
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }:
let
# Please update the stable branch!
# Latest version number can be found at:
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
# Be careful not to pick the testing version.
version = "1.0.80.480.g51b03ac3-13";
# "rev" decides what is actually being downloaded
version = "1.0.80.474.gef6b503e-7";
# To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# 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 = [
alsaLib
@ -49,12 +54,20 @@ in
stdenv.mkDerivation {
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 {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "e32f4816ae79dbfa0c14086e76df3bc83d526402aac1dbba534127fc00fe50ea";
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "45b7ab574b30fb368e0b6f4dd60addbfd1ddc02173b4f98b31c524eed49073432352a361e75959ce8e2f752231e93c79ca1b538c4bd295c935d1e2e0585d147f";
};
buildInputs = [ dpkg makeWrapper ];
buildInputs = [ squashfsTools makeWrapper ];
doConfigure = false;
doBuild = false;
@ -63,7 +76,23 @@ stdenv.mkDerivation {
unpackPhase = ''
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
'';
@ -75,6 +104,8 @@ stdenv.mkDerivation {
mkdir -p $libdir
mv ./usr/* $out/
cp meta/snap.yaml $out
# Work around Spotify referring to a specific minor version of
# OpenSSL.

View 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"

View File

@ -1,4 +1,4 @@
{ stdenv, pkgs, fetchurl, makeWrapper, gvfs, atomEnv}:
{ stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }:
let
common = pname: {version, sha256, beta ? null}:
@ -14,7 +14,19 @@ let
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 = ''
mkdir -p $out/usr/
@ -25,9 +37,6 @@ let
rm -r $out/share/lintian
rm -r $out/usr/
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

View File

@ -12,14 +12,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "1.0";
version = "1.1";
name = "renderdoc-${version}";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "v${version}";
sha256 = "0l7pjxfrly4llryjnwk42dzx65n78wc98h56qm4yh04ja8fdbx2y";
sha256 = "0kb9m1dm0mnglqyh1srvl0f1bgjghxzbqarn0xfqw49wphqwhmcd";
};
buildInputs = [

View File

@ -1,7 +1,8 @@
{ stdenv, fetchFromGitHub, pythonPackages }:
{ stdenv, fetchFromGitHub, python3Packages }:
pythonPackages.buildPythonApplication rec {
name = "antfs-cli-unstable-2017-02-11";
python3Packages.buildPythonApplication rec {
pname = "antfs-cli";
version = "unstable-2017-02-11";
meta = with stdenv.lib; {
homepage = https://github.com/Tigge/antfs-cli;
@ -17,5 +18,5 @@ pythonPackages.buildPythonApplication rec {
sha256 = "0v8y64kldfbs809j1g9d75dd1vxq7mfxnp4b45pz8anpxhjf64fy";
};
propagatedBuildInputs = [ pythonPackages.openant ];
propagatedBuildInputs = [ python3Packages.openant ];
}

View File

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, rustPlatform, cmake, CoreServices, cf-private }:
{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }:
rustPlatform.buildRustPackage rec {
name = "gutenberg-${version}";
version = "0.3.4";
version = "0.4.0";
src = fetchFromGitHub {
owner = "Keats";
repo = "gutenberg";
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 ];
postInstall = ''

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }:
stdenv.mkDerivation rec {
version = "2018-02-23";
version = "18.05";
name = "rtl_433-${version}";
src = fetchFromGitHub {
owner = "merbanan";
repo = "rtl_433";
rev = "51d275c";
sha256 = "1j443wmws5xgc18s47bvw3pqljk747izypz52rmlrvs16v96cg2g";
rev = "18.05";
sha256 = "0vfhnjyrx6w1m8g1hww5vdz4zgdlhcaps9g0397mxlki4sm77wpc";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -9,15 +9,17 @@
with lib;
let
version = "3.9.0";
version = "3.10.0";
ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
versionMajor = ver 0;
versionMinor = ver 1;
versionPatch = ver 2;
gitCommit = "191fece";
gitCommit = "dd10d17";
# version is in vendor/k8s.io/kubernetes/pkg/version/base.go
k8sversion = "v1.9.1";
k8sgitcommit = "a0ce1bc657";
k8sversion = "v1.10.0";
k8sgitcommit = "b81c8f8";
k8sgitMajor = "0";
k8sgitMinor = "1";
in stdenv.mkDerivation rec {
name = "openshift-origin-${version}";
inherit version;
@ -26,7 +28,7 @@ in stdenv.mkDerivation rec {
owner = "openshift";
repo = "origin";
rev = "v${version}";
sha256 = "06k0zilfyvll7z34yirraslgpwgah9k6y5i6wgi7f00a79k76k78";
sha256 = "13aglz005jl48z17vnggkvr39l5h6jcqgkfyvkaz4c3jakms1hi9";
};
# go > 1.10
@ -38,15 +40,15 @@ in stdenv.mkDerivation rec {
patchPhase = ''
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' \
'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' \
'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' \
'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 "KUBE_GIT_VERSION=${k8sversion}" >> 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 CC=clang
make all WHAT='${concatStringsSep " " components}'

View File

@ -3,9 +3,24 @@
, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
, 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
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 [
alsaLib
atk
@ -68,6 +83,7 @@ in stdenv.mkDerivation rec {
--set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
wrapProgram $out/libexec/signal-desktop \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
${customLanguageWrapperArgs} \
"''${gappsWrapperArgs[@]}"
# Symlink to bin

View File

@ -14,7 +14,7 @@ in {
stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // {
stable = false;
version = "1.3.11";
sha256Hash = "057b7ccba7k2slzbp9xzcs3fni40x7gz3wy13xfgxywr12f04h1r";
version = "1.3.12";
sha256Hash = "00z4ljs4fvbk7sf8wv1v50kln26gv8q12x6q41ai9gfzkvq5f69a";
});
}

View File

@ -2,41 +2,59 @@
, fetchurl
, dbus
, zlib, fontconfig
, qtbase, qtmultimedia
, libjson, libgpgerror
, libX11, libxcb, libXau, libXdmcp, freetype, libbsd
, pythonPackages, squashfsTools, makeDesktopItem
}:
with stdenv.lib;
let
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");
srcs = {
"i686-linux" = fetchurl {
url = "https://www.dropbox.com/s/kebk1b5ib1m3xxw/${mainbin}.tgz";
sha256 = "0r9rhnfslkgbw3l7fnc0rcfqjh58amgh5p33kwam0qvn1h1frnir";
};
"x86_64-linux" = fetchurl {
url = "https://www.dropbox.com/s/7qh902qv2sxyp6p/${mainbin}.tgz";
sha256 = "05l3smpdvw8xdhv4v8a28j0yi1kvzhrha2ck23g4bl7x9wkay4cc";
url = "https://www.dropbox.com/s/0vi87eef3ooh7iy/${mainbin}.tgz";
sha256 = "0d1cayxr1a4j19bc5a3qp9pg22ggzmd55b6f5av3lc6lvwqqg4w6";
};
};
desktopItem = makeDesktopItem {
name = "SoulseekQt";
exec = "soulseekqt";
icon = "$out/share/soulseekqt/";
comment = "Official Qt SoulSeek client";
desktopName = "SoulseekQt";
genericName = "SoulseekQt";
categories = "Network;";
};
in stdenv.mkDerivation rec {
name = "soulseekqt-${version}";
inherit version;
src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
sourceRoot = ".";
buildPhase = ":"; # nothing to build
dontBuild = true;
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 = ''
mkdir -p $out/bin
cp ${mainbin} $out/bin/soulseekqt
mkdir -p $out/{bin,share/soulseekqt}
cd squashfs-root/
cp -R soulseek.png translations $out/share/soulseekqt
cp SoulseekQt $out/bin/soulseekqt
'';
fixupPhase = ''
@ -50,6 +68,6 @@ in stdenv.mkDerivation rec {
homepage = http://www.soulseekqt.net;
license = licenses.unfree;
maintainers = [ maintainers.genesis ];
platforms = [ "i686-linux" "x86_64-linux" ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -8,10 +8,6 @@ let
# https://trac.sagemath.org/ticket/15980 for tracking of python3 support
python = nixpkgs.python2.override {
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
# 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
@ -24,7 +20,7 @@ let
pybrial = self.callPackage ./pybrial.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;
linbox = nixpkgs.linbox.override { withSage = true; };
};
@ -38,20 +34,20 @@ let
};
env-locations = self.callPackage ./env-locations.nix {
inherit pari_data ecl pari;
inherit pari_data ecl;
inherit singular;
three = nodePackages_8_x.three;
mathjax = nodePackages_8_x.mathjax;
};
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
};
sage-with-env = self.callPackage ./sage-with-env.nix {
inherit pari eclib pythonEnv ntl;
inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular giac;
inherit pythonEnv;
inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
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; };
# update causes issues
# 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";
};
});
singular = nixpkgs.singular.override { inherit flint; };
# *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; };
eclib = nixpkgs.eclib.override { inherit pari ntl; };
# 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
# blas when it is available. Alternative would be to override flint to use
# 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
# in the same folder.
@ -165,15 +138,6 @@ let
# https://trac.sagemath.org/ticket/22191
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
python.pkgs.sage-wrapper // {
doc = python.pkgs.sagedoc;

View File

@ -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()

View File

@ -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`)::

View File

@ -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)

View File

@ -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()

View File

@ -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')

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()}

View File

@ -3,17 +3,20 @@
, fetchpatch
}:
stdenv.mkDerivation rec {
version = "8.2";
version = "8.3";
name = "sage-src-${version}";
src = fetchFromGitHub {
owner = "sagemath";
repo = "sage";
rev = version;
sha256 = "0d7vc16s7dj23an2cb8v5bhbnc6nsw20qhnnxr0xh8qg629027b8";
sha256 = "0mbm99m5xry21xpi4q3q96gx392liwbifywf5awvl0j85a7rkfyx";
};
nixPatches = [
# https://trac.sagemath.org/ticket/25809
./patches/spkg-scripts.patch
# https://trac.sagemath.org/ticket/25309
(fetchpatch {
name = "spkg-paths.patch";
@ -26,14 +29,7 @@ stdenv.mkDerivation rec {
sha256 = "14s50yg3hpw9cp3v581dx7zfmpm2j972im7x30iwki8k45mjvk3i";
})
# https://trac.sagemath.org/ticket/25328
# https://trac.sagemath.org/ticket/25546
# 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
# https://trac.sagemath.org/ticket/25358
@ -43,27 +39,13 @@ stdenv.mkDerivation rec {
sha256 = "1hhannz7xzprijakn2w2d0rhd5zv2zikik9p51i87bas3nc658f7";
})
# https://trac.sagemath.org/ticket/25357 rebased on 8.2
./patches/python3-syntax-without-write.patch
# 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";
})
# Unfortunately inclusion in upstream sage was rejected. Instead the bug was
# 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/25316
# https://github.com/python/cpython/pull/7476
./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
(fetchpatch {
name = "find-libraries-in-dyld-library-path.patch";
@ -71,16 +53,13 @@ stdenv.mkDerivation rec {
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
# (upstream patch doesn't apply on 8.2 source)
./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 = [
@ -106,87 +85,55 @@ stdenv.mkDerivation rec {
# the last version.
./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
# 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 {
url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch";
sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp";
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.
# https://trac.sagemath.org/ticket/25260
./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
./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 = ''
# make sure shebangs etc are fixed, but sage-python23 still works

View File

@ -3,7 +3,7 @@
let
name = "scilab-bin-${ver}";
ver = "5.5.2";
ver = "6.0.1";
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";
sha256 =
if stdenv.system == "i686-linux" then
"6143a95ded40411a35630a89b365875a6526cd4db1e2865ac5612929a7db937a"
"0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib"
else if stdenv.system == "x86_64-linux" then
"c0dd7a5f06ec7a1df7a6b1b8b14407ff7f45e56821dff9b3c46bd09d4df8d350"
"1scswlznc14vyzg0gqa1q9gcpwx05kz1sbn563463mzkdp7nd35d"
else
badArch;
};

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
, lib
, fetchpatch
, autoreconfHook
, file
, flint
@ -36,6 +37,18 @@ stdenv.mkDerivation rec {
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):
# 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

View File

@ -171,9 +171,12 @@ in stdenv.mkDerivation rec {
buildPhase = ''
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
getPath = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" +
"${luasocket}/share/lua/${lua.luaversion}/?.${type}";
@ -181,24 +184,32 @@ in stdenv.mkDerivation rec {
luaCPath = getPath "so";
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_CPATH : "${luaCPath}" \
'' + optionalString youtubeSupport ''
--prefix PATH : "${youtube-dl}/bin" \
'' + optionalString vapoursynthSupport ''
--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
wrapProgram $out/bin/umpv \
--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; {

View 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;
};
}

View File

@ -1,20 +1,20 @@
{ stdenv, fetchFromGitHub, SDL2, frei0r, gettext, mlt, jack1, pkgconfig, qtbase
, qtmultimedia, qtwebkit, qtx11extras, qtwebsockets, qtquickcontrols
, qtgraphicaleffects, libmlt
, qmake, makeWrapper, fetchpatch, qttools }:
, qmake, makeWrapper, qttools }:
assert stdenv.lib.versionAtLeast libmlt.version "6.8.0";
assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
stdenv.mkDerivation rec {
name = "shotcut-${version}";
version = "18.06.02";
version = "18.08";
src = fetchFromGitHub {
owner = "mltframework";
repo = "shotcut";
rev = "v${version}";
sha256 = "1pqpgsb8ix1akq326chf46vvl5h02dwmdskskf2n6impygsy4x7v";
sha256 = "1p2s4avm3bl5ippmgfzkkbb2w0xs4vhk2wbcd22g7bh1zq9w190n";
};
enableParallelBuilding = true;
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
];
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 = ''
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
'';
patches = [ (fetchpatch {
url = https://github.com/mltframework/shotcut/commit/f304b7403cc7beb57b1610afd9c5c8173749e80b.patch;
name = "qt511.patch";
sha256 = "1ynvyjchcb33a33x4w1ddnah2gyzmnm125ailgg6xy60lqsnsmp9";
} ) ];
postInstall = ''
mkdir -p $out/share/shotcut
cp -r src/qml $out/share/shotcut/

View File

@ -34,56 +34,48 @@ let
};
in stdenv.lib.mapAttrs mkVariant {
adventor = {
displayName = "Adventor";
version = "2_501";
sha256 = "0qjg3x0adfppyx3x33cm07ww9i9sl88xaq07m7wfip8rmyp567fn";
outputHash = "117h6f02m1r54b4f1a98q5kkjchl5pv9ibm1jla6xrzhk2pchb27";
abbreviation = "qag";
};
bonum = {
displayName = "Bonum";
version = "2.004";
sha256 = "0qbrs98knx4h0b297c5n3vav4mkal1a95ai2dzmdc10pghfzl8vv";
outputHash = "0bid8gzwz50ylmm8jyqf9s4nfvy6cp1x34wbyrh4gyk1ki6hf3z1";
abbreviation = "qbk";
};
chorus = {
displayName = "Chorus";
version = "2.003";
sha256 = "1b0zak27fzmapwbf2jasvsd95vhnqyc92n985d1lc1ivwja1zgfa";
outputHash = "0fqifd45c1ys6y98b66lmldfbv7wjb2414fs9swicv4n7xvl3cp1";
abbreviation = "qzc";
};
cursor = {
displayName = "Cursor";
version = "2.004";
sha256 = "0ck3jm33bk2xsxp5d2irzd3j24zb49f0gnjvd1nikg1ivk8w85ng";
outputHash = "0i76835xqlkrnlx303mx63m0f4899j056c2ag2fl6p9qk8s4rskp";
abbreviation = "qcr";
};
heros = {
displayName = "Heros";
version = "2.004";
sha256 = "1fj2srxxf6ap913y5yd3dn4jzg828j7381gifs39nm5lnzmgw78y";
outputHash = "16y76ab46fxm9k8wfmwx4w0cl96yrmjywz587lyr08s0agp1v3kf";
abbreviation = "qhv";
};
pagella = {
displayName = "Pagella";
version ="2_501";
sha256 = "1kccaxs3vk93la2pz4nv05hx1x3diyla49cz4l33zifdcp2zgg9d";
outputHash = "1nnjsgplimh29502pkd19rvfg93x31svxxmx4x7h51njrx1j8qa8";
abbreviation = "qpl";
};
schola = {
displayName = "Schola";
version = "2.005";
sha256 = "05z3gk4mm0sa7wwjcv31j2xlzqhwhcncpamn0kn9y0221cdknyp8";
outputHash = "1yqq1ngcylhldrh1v35l439k72szq9m4gx6g0wh235fk65chb2bm";
abbreviation = "qcs";
};
termes = {
displayName = "Termes";
version = "2.004";
sha256 = "1aq3yqbgkc3z20dkcqyhicsyq0afbgg4l397z96sd8a16jyz2x8k";
outputHash = "1igw821m601h8937pix6yish4d8fxmz3h4j9hripf41bxsiafzzg";

View 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;
};
}

View File

@ -30,7 +30,7 @@ lib.makeScope pkgs.newScope (self: with self; {
nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
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
@ -291,6 +291,8 @@ lib.makeScope pkgs.newScope (self: with self; {
gnome-sound-recorder = callPackage ./apps/gnome-sound-recorder { };
gnome-todo = callPackage ./apps/gnome-todo {};
gnome-weather = callPackage ./apps/gnome-weather { };
nautilus-sendto = callPackage ./apps/nautilus-sendto { };

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl
{ stdenv, lib, fetchurl, fetchpatch
, coq, ocamlPackages
, tools ? stdenv.cc
}:
@ -7,11 +7,11 @@ assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02";
stdenv.mkDerivation rec {
name = "compcert-${version}";
version = "3.2";
version = "3.3";
src = fetchurl {
url = "http://compcert.inria.fr/release/${name}.tgz";
sha256 = "11q4121s0rxva63njjwya7syfx9w0p4hzr6avh8s57vfbrcakc93";
sha256 = "16xrqcwak1v1fk5ndx6jf1yvxv3adsr7p7z34gfm2mpggxnq0xwn";
};
buildInputs = [ coq ]
@ -19,9 +19,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
postPatch = ''
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
'';
patches = [ (fetchpatch {
url = "https://github.com/AbsInt/CompCert/commit/679ecfeaa24c0615fa1999e9582bf2af6a9f35e7.patch";
sha256 = "04yrn6dp57aw6lmlr4yssjlx9cxix0mlmaw7gfhwyz5bzqc2za1a";
})];
configurePhase = ''
substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'

View File

@ -264,11 +264,13 @@ self: super: builtins.intersectAttrs super {
}
);
llvm-hs = super.llvm-hs.override { llvm-config = pkgs.llvm; };
llvm-hs_6_3_0 = super.llvm-hs_6_3_0.override {
llvm-config = pkgs.llvm_6;
llvm-hs-pure = super.llvm-hs-pure_6_2_1;
};
llvm-hs =
let dontCheckDarwin = if pkgs.stdenv.isDarwin
then dontCheck
else pkgs.lib.id;
in dontCheckDarwin (super.llvm-hs.override {
llvm-config = pkgs.llvm_6;
});
# Needs help finding LLVM.
spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;

View File

@ -153,6 +153,8 @@
protobuf = callPackage ./protobuf.nix {};
quantities = callPackage ./quantities.nix {};
rationals = callPackage ./rationals.nix {};
recursion_schemes = callPackage ./recursion_schemes.nix {};

View 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 ];
};
}

View File

@ -40,6 +40,8 @@ in
rm -vf rebar
ln -s ${rebar}/bin/rebar rebar
patchShebangs lib/elixir/generate_app.escript || true
substituteInPlace Makefile \
--replace "/usr/local" $out
'';

View File

@ -1,36 +1,27 @@
{ stdenv, fetchpatch, fetchFromGitHub, meson, ninja, pkgconfig, gettext
, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
, libstemmer, glib, xapian, libxml2, libyaml, gobjectIntrospection
, pcre, itstool
, pcre, itstool, gperf, vala
}:
stdenv.mkDerivation rec {
name = "appstream-${version}";
version = "0.11.8";
version = "0.12.2";
src = fetchFromGitHub {
owner = "ximion";
repo = "appstream";
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 = [
meson ninja pkgconfig gettext
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 = ''
substituteInPlace meson.build \
@ -43,7 +34,7 @@ stdenv.mkDerivation rec {
mesonFlags = [
"-Dapidocs=false"
"-Ddocs=false"
"-Dgir=false"
"-Dvapi=true"
];
meta = with stdenv.lib; {

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "appstream-qt-${version}";
inherit (appstream) version src patches prePatch;
inherit (appstream) version src prePatch;
buildInputs = appstream.buildInputs ++ [ appstream qtbase ];

View File

@ -1,55 +1,33 @@
{ stdenv
, fetchurl
, fetchpatch
, fetchFromGitHub
, gmp
, autoreconfHook
, texlive
}:
stdenv.mkDerivation rec {
name = "cddlib-${version}";
version = "0.94i";
src = let
fileVersion = stdenv.lib.replaceStrings ["."] [""] version;
in fetchurl {
# Might switch to github in the future, see
# https://trac.sagemath.org/ticket/21952#comment:20
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";
version = "0.94j";
src = fetchFromGitHub {
owner = "cddlib";
repo = "cddlib";
rev = "${version}";
sha256 = "1z03ljy3rrr0qq5gq54vynnif6fn0xhn05g90nnv0dpyc3ps8lzp";
};
buildInputs = [gmp];
nativeBuildInputs = [
autoreconfHook
texlive.combined.scheme-small # for building the documentation
];
# compute reduced H and V representation of polytope
# this patch is included by most distributions (Debian, Conda, ArchLinux, SageMath)
# proposed upstream (no answer yet): https://github.com/cddlib/cddlib/pull/3
both_reps_c = (fetchurl {
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 = {
# No actual checks yet (2018-05-05), but maybe one day.
# Requested here: https://github.com/cddlib/cddlib/issues/25
doCheck = true;
meta = with stdenv.lib; {
inherit version;
description = ''An implementation of the Double Description Method for generating all vertices of a convex polyhedron'';
license = stdenv.lib.licenses.gpl2Plus ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2Plus;
maintainers = with maintainers; [raskin timokau];
platforms = platforms.linux;
homepage = https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html;
};
}

View File

@ -1,11 +1,15 @@
{ stdenv, fetchurl, fetchpatch, zlib, expat, gettext }:
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, zlib, expat, gettext
, autoconf }:
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";
sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7";
#url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
src = fetchFromGitHub rec {
owner = "exiv2";
repo = "exiv2";
rev = "4aa57ad";
sha256 = "1kblpxbi4wlb0l57xmr7g23zn9adjmfswhs6kcwmd7skwi2yivcd";
};
patches = [
@ -16,25 +20,36 @@ stdenv.mkDerivation rec {
+ "/sha512/${sha512}/${patchname}";
sha512 = "3f9242dbd4bfa9dcdf8c9820243b13dc14990373a800c4ebb6cf7eac5653cfef"
+ "e6f2c47a94fbee4ed24f0d8c2842729d721f6100a2b215e0f663c89bfefe9e32";
})
(fetchpatch {
# many CVEs - see https://github.com/Exiv2/exiv2/pull/120
url = "https://patch-diff.githubusercontent.com/raw/Exiv2/exiv2/pull/120.patch";
sha256 = "1szl22xmh12hibzaqf2zi8zl377x841m52x4jm5lziw6j8g81sj8";
excludes = [ "test/bugfixes-test.sh" ];
})
})
# Two backports from master, submitted as https://github.com/Exiv2/exiv2/pull/398
(fetchpatch {
name = "CVE-2018-12264.diff";
url = "https://github.com/vcunat/exiv2/commit/fd18e853.diff";
sha256 = "0y7ahh45lpaiazjnfllndfaa5pyixh6z4kcn2ywp7qy4ra7qpwdr";
})
(fetchpatch {
name = "CVE-2018-12265.diff";
url = "https://github.com/vcunat/exiv2/commit/9ed1671bd4.diff";
sha256 = "1cn446pfcgsh1bn9vxikkkcy1cqq7ghz2w291h1094ydqg6w7q6w";
})
];
postPatch = "patchShebangs ./src/svn_version.sh";
preConfigure = "make config"; # needed because not using tarball
outputs = [ "out" "dev" ];
nativeBuildInputs = [ gettext ];
nativeBuildInputs = [
gettext
autoconf # needed because not using tarball
];
propagatedBuildInputs = [ zlib expat ];
meta = {
meta = with stdenv.lib; {
homepage = http://www.exiv2.org/;
description = "A library and command-line utility to manage image metadata";
platforms = stdenv.lib.platforms.all;
platforms = platforms.all;
license = licenses.gpl2;
};
}

View 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 ];
};
}

View File

@ -52,6 +52,9 @@ in stdenv.mkDerivation rec {
install -Dm644 *.jar $out/share/java
install -Dm644 sdk/include/* $out/include
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; {

View 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 ];
};
}

View File

@ -57,6 +57,18 @@ stdenv.mkDerivation rec {
# based on gentoos makefile patch -- fix paths, adhere to flags
./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 = [

View File

@ -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;
};
}

View File

@ -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;
};
}

View 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;
};
}

View 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 ];
};
}

View File

@ -2,6 +2,7 @@
, stdenv
, buildPythonPackage
, fetchPypi
, fetchpatch
# Build dependencies
, glibcLocales
# Test dependencies
@ -36,6 +37,16 @@ buildPythonPackage rec {
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 ];
checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock;

View File

@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "af3a3252bc58f8642a641601ba59096c22e4aa49cdc1ed4b0df2314f4f027f0d";
sha256 = "00x28z6diw06gakb5isbfha5z2n63yyncv4za303nsgzxvlihmx0";
};
propagatedBuildInputs = [ blessings mozterm six ];

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k }:
{ lib, buildPythonPackage, fetchPypi, isPy3k, six }:
buildPythonPackage rec {
pname = "mozterm";
@ -7,6 +7,8 @@ buildPythonPackage rec {
# name 'unicode' is not defined
disabled = isPy3k;
propagatedBuildInputs = [six];
src = fetchPypi {
inherit pname version;
sha256 = "b1e91acec188de07c704dbb7b0100a7be5c1e06567b3beb67f6ea11d00a483a4";

View File

@ -11,22 +11,22 @@ GEM
nokogiri (1.8.4)
mini_portile2 (~> 2.3.0)
parallel (1.12.1)
parser (2.5.1.0)
parser (2.5.1.2)
ast (~> 2.4.0)
powerpack (0.1.2)
rainbow (3.0.0)
reverse_markdown (1.1.0)
nokogiri
rubocop (0.58.0)
rubocop (0.58.2)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.5)
parser (>= 2.5, != 2.5.1.1)
powerpack (~> 0.1)
rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-progressbar (1.9.0)
solargraph (0.23.3)
solargraph (0.23.6)
coderay (~> 1.1)
eventmachine (~> 1.2, >= 1.2.5)
htmlentities (~> 4.3, >= 4.3.4)
@ -40,7 +40,7 @@ GEM
thor (0.20.0)
tilt (2.0.8)
unicode-display_width (1.4.0)
yard (0.9.14)
yard (0.9.15)
PLATFORMS
ruby

View File

@ -76,10 +76,10 @@
dependencies = ["ast"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9";
sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
type = "gem";
};
version = "2.5.1.0";
version = "2.5.1.2";
};
powerpack = {
source = {
@ -110,10 +110,10 @@
dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "091simr4pvxnkm472ixk5lqbnhgznvmhjpjf98ppbx1r68a4mcp3";
sha256 = "0fc1fw9z98qd91ipsh9hdvpcb401qvkhw518s35l8a67sv4vdnj3";
type = "gem";
};
version = "0.58.0";
version = "0.58.2";
};
ruby-progressbar = {
source = {
@ -127,10 +127,10 @@
dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1145g6x04fwmg8n51lsk7ybig31scndlj1i2i4lbrj9621bbqxfz";
sha256 = "01lh5vibr277vhhrgk6zl09ivb262c1qpk54ahzhc40zs309842b";
type = "gem";
};
version = "0.23.3";
version = "0.23.6";
};
thor = {
source = {
@ -159,9 +159,9 @@
yard = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "08kww2m1izjq56q2va2my0x3f3f0xsg6f07b6sgb4nl0scr6y10q";
sha256 = "145pbc0x95s6x296kh1wp5ykwy6srfcz946dgj83s35g8p52z4q4";
type = "gem";
};
version = "0.9.14";
version = "0.9.15";
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "yarn-${version}";
version = "1.9.2";
version = "1.9.4";
src = fetchzip {
url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
sha256 = "0bk006zs1bk6nwj9x07ry314fgxi21sk79h1paljbs6yzrv62h4g";
sha256 = "0lxncqvz66167ijhsi76ds2yp8140d9ywn89y5vm92010irsgs20";
};
buildInputs = [ nodejs ];

View File

@ -3,14 +3,14 @@
stdenv.mkDerivation rec {
repo = "caprice32";
version = "unstable-2018-02-10";
rev = "53de69543300f81af85df32cbd21bb5c68cab61e";
version = "unstable-2018-03-05";
rev = "317fe638111e245d67e301f6f295094d3c859a70";
name = "${repo}-${version}";
src = fetchFromGitHub {
inherit rev repo;
owner = "ColinPitrat";
sha256 = "12yv56blm49qmshpk4mgc802bs51wv2ra87hmcbf2wxma39c45fy";
sha256 = "1bywpmkizixcnr057k8zq9nlw0zhcmwkiriln0krgdcm7d3h9b86";
};
postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out";

View File

@ -100,6 +100,15 @@ in rec {
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 {
pluginName = "logging";
src = fetchgit {

View File

@ -1,39 +1,24 @@
{ stdenv, fetchFromGitHub, gcc, gmp, libsigsegv, openssl, automake, autoconf, ragel,
cmake, re2c, libtool, ncurses, perl, zlib, python2, curl }:
{ stdenv, fetchFromGitHub, curl, git, gmp, libsigsegv, meson, ncurses, ninja
, openssl, pkgconfig, re2c, zlib
}:
stdenv.mkDerivation rec {
name = "urbit-${version}";
version = "0.4.5";
version = "0.6.0";
src = fetchFromGitHub {
owner = "urbit";
repo = "urbit";
rev = "v${version}";
sha256 = "1zgxgqbz74nsgfyrvsnjj6xxpb64mrnby7bb5qy733sy04gmzgik";
rev = "urbit-${version}";
sha256 = "158mz6c6y5z1b6piid8hvrl5mcqh8q1ny185gz51jayia51azmgs";
fetchSubmodules = true;
};
buildInputs = with stdenv.lib; [
gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
ncurses perl zlib python2 curl
];
nativeBuildInputs = [ pkgconfig ninja meson ];
buildInputs = [ curl git gmp libsigsegv ncurses openssl re2c zlib ];
# uses 'readdir_r' deprecated by glibc 2.24
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
configurePhase = ''
:
'';
buildPhase = ''
sed -i 's/-lcurses/-lncurses/' Makefile
mkdir -p $out
cp -r . $out/
cd $out
make
'';
installPhase = ''
:
postPatch = ''
patchShebangs .
'';
meta = with stdenv.lib; {

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
pythonPackages, readline, udev, libical,
python3, readline, udev, libical,
systemd, enableWiimote ? false, enableMidi ? false }:
stdenv.mkDerivation rec {
@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
sha256 = "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z";
};
pythonPath = with pythonPackages; [
pythonPath = with python3.pkgs; [
dbus-python pygobject2 pygobject3 recursivePthLoader
];
buildInputs = [
dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
dbus glib alsaLib python3 python3.pkgs.wrapPython
readline udev libical
];

View File

@ -88,7 +88,7 @@ let
separateDebugInfo = 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;
# it gets statically linked in
++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
@ -106,17 +106,28 @@ let
installPhase = ''
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") ''
# 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
'' + ''
# 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_options.g.h $dev/include/foundationdb
# java
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
cp -v "./bin/$x" $out/bin;
done
@ -128,7 +139,7 @@ let
ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
'';
outputs = [ "out" "lib" "dev" ];
outputs = [ "out" "lib" "dev" "python" ];
meta = with stdenv.lib; {
description = "Open source, distributed, transactional key-value store";
@ -148,16 +159,15 @@ in with builtins; {
};
foundationdb52 = makeFdb rec {
version = "5.2.6";
version = "5.2.8";
branch = "release-5.2";
rev = "refs/tags/v5.2.6"; # seemed to be tagged incorrectly
sha256 = "1q3lq1hqq0f53n51gd4cw5cpayyw65dmkfplhsw1m5mghymzmskk";
sha256 = "1kbmmhk2m9486r4kyjlc7bb3wd50204i0p6dxcmvl6pbp1bs0wlb";
};
foundationdb60 = makeFdb rec {
version = "6.0.3pre2446_${substring 0 8 rev}";
version = "6.0.4pre2497_${substring 0 8 rev}";
branch = "release-6.0";
rev = "dd5481fb60ee1652986b2a028b31dcbb6cb171b5";
sha256 = "0mhlb728badk1h3410jbhy7f48m3jjnjna26wwyw5680xz72d6dm";
rev = "73d64cb244714c19bcc651122f6e7a9236aa11b5";
sha256 = "1jzmrf9kj0brqddlmxvzhj27r6843790jnqwkv1s3ri21fqb3hs7";
};
}

View File

@ -2,7 +2,7 @@
# Do not edit!
{
version = "0.74.2";
version = "0.75.1";
components = {
"abode" = ps: with ps; [ ];
"ads" = ps: with ps; [ ];
@ -47,6 +47,7 @@
"august" = ps: with ps; [ ];
"auth" = ps: with ps; [ aiohttp-cors ];
"auth.indieauth" = ps: with ps; [ ];
"auth.login_flow" = ps: with ps; [ ];
"automation" = ps: with ps; [ ];
"automation.event" = ps: with ps; [ ];
"automation.homeassistant" = ps: with ps; [ ];
@ -128,6 +129,7 @@
"binary_sensor.skybell" = ps: with ps; [ ];
"binary_sensor.sleepiq" = ps: with ps; [ ];
"binary_sensor.spc" = ps: with ps; [ ];
"binary_sensor.tahoma" = ps: with ps; [ ];
"binary_sensor.tapsaff" = ps: with ps; [ ];
"binary_sensor.tcp" = ps: with ps; [ ];
"binary_sensor.tellduslive" = ps: with ps; [ ];
@ -225,10 +227,12 @@
"climate.proliphix" = ps: with ps; [ ];
"climate.radiotherm" = ps: with ps; [ ];
"climate.sensibo" = ps: with ps; [ ];
"climate.spider" = ps: with ps; [ ];
"climate.tado" = ps: with ps; [ ];
"climate.tesla" = ps: with ps; [ ];
"climate.toon" = ps: with ps; [ ];
"climate.touchline" = ps: with ps; [ ];
"climate.tuya" = ps: with ps; [ ];
"climate.venstar" = ps: with ps; [ ];
"climate.vera" = ps: with ps; [ ];
"climate.wink" = ps: with ps; [ ];
@ -259,6 +263,8 @@
"counter" = ps: with ps; [ ];
"cover" = 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.demo" = ps: with ps; [ ];
"cover.garadget" = ps: with ps; [ ];
@ -282,6 +288,7 @@
"cover.tellduslive" = ps: with ps; [ ];
"cover.tellstick" = ps: with ps; [ ];
"cover.template" = ps: with ps; [ ];
"cover.tuya" = ps: with ps; [ ];
"cover.velbus" = ps: with ps; [ ];
"cover.vera" = ps: with ps; [ ];
"cover.wink" = ps: with ps; [ ];
@ -375,6 +382,7 @@
"fan.isy994" = ps: with ps; [ ];
"fan.mqtt" = ps: with ps; [ paho-mqtt ];
"fan.template" = ps: with ps; [ ];
"fan.tuya" = ps: with ps; [ ];
"fan.velbus" = ps: with ps; [ ];
"fan.wink" = ps: with ps; [ ];
"fan.xiaomi_miio" = ps: with ps; [ construct ];
@ -482,6 +490,7 @@
"light.enocean" = ps: with ps; [ ];
"light.eufy" = ps: with ps; [ ];
"light.flux_led" = ps: with ps; [ ];
"light.futurenow" = ps: with ps; [ ];
"light.greenwave" = ps: with ps; [ ];
"light.group" = ps: with ps; [ ];
"light.hive" = ps: with ps; [ ];
@ -518,6 +527,7 @@
"light.rpi_gpio_pwm" = ps: with ps; [ ];
"light.scsgate" = ps: with ps; [ ];
"light.sensehat" = ps: with ps; [ ];
"light.sisyphus" = ps: with ps; [ ];
"light.skybell" = ps: with ps; [ ];
"light.tellduslive" = ps: with ps; [ ];
"light.tellstick" = ps: with ps; [ ];
@ -620,6 +630,7 @@
"media_player.russound_rio" = ps: with ps; [ ];
"media_player.russound_rnet" = ps: with ps; [ ];
"media_player.samsungtv" = ps: with ps; [ wakeonlan ];
"media_player.sisyphus" = ps: with ps; [ ];
"media_player.snapcast" = ps: with ps; [ ];
"media_player.songpal" = ps: with ps; [ ];
"media_player.sonos" = ps: with ps; [ soco ];
@ -770,6 +781,7 @@
"scene.litejet" = ps: with ps; [ ];
"scene.lutron_caseta" = ps: with ps; [ ];
"scene.tahoma" = ps: with ps; [ ];
"scene.tuya" = ps: with ps; [ ];
"scene.velux" = ps: with ps; [ ];
"scene.vera" = ps: with ps; [ ];
"scene.wink" = ps: with ps; [ ];
@ -896,6 +908,7 @@
"sensor.loopenergy" = ps: with ps; [ ];
"sensor.luftdaten" = ps: with ps; [ luftdaten ];
"sensor.lyft" = ps: with ps; [ ];
"sensor.magicseaweed" = ps: with ps; [ ];
"sensor.melissa" = ps: with ps; [ ];
"sensor.metoffice" = ps: with ps; [ ];
"sensor.mfi" = ps: with ps; [ ];
@ -1048,6 +1061,7 @@
"shell_command" = ps: with ps; [ ];
"shiftr" = ps: with ps; [ paho-mqtt ];
"shopping_list" = ps: with ps; [ aiohttp-cors ];
"sisyphus" = ps: with ps; [ ];
"skybell" = ps: with ps; [ ];
"sleepiq" = ps: with ps; [ ];
"smappee" = ps: with ps; [ ];
@ -1055,6 +1069,7 @@
"sonos" = ps: with ps; [ soco ];
"spaceapi" = ps: with ps; [ aiohttp-cors ];
"spc" = ps: with ps; [ websockets ];
"spider" = ps: with ps; [ ];
"splunk" = ps: with ps; [ ];
"statsd" = ps: with ps; [ statsd ];
"sun" = ps: with ps; [ ];
@ -1128,6 +1143,7 @@
"switch.skybell" = ps: with ps; [ ];
"switch.smappee" = ps: with ps; [ ];
"switch.snmp" = ps: with ps; [ pysnmp ];
"switch.spider" = ps: with ps; [ ];
"switch.tahoma" = ps: with ps; [ ];
"switch.tellduslive" = ps: with ps; [ ];
"switch.tellstick" = ps: with ps; [ ];

View File

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, python3
{ lib, fetchFromGitHub, fetchpatch, python3
# Look up dependencies of specified components in component-packages.nix
, extraComponents ? []
@ -29,10 +29,10 @@ let
};
});
voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
version = "0.11.1";
version = "0.11.5";
src = oldAttrs.src.override {
inherit version;
sha256 = "af7315c9fa99e0bfd195a21106c82c81619b42f0bd9b6e287b797c6b6b6a9918";
sha256 = "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef";
};
});
attrs = super.attrs.overridePythonAttrs (oldAttrs: rec {
@ -74,7 +74,7 @@ let
extraBuildInputs = extraPackages py.pkgs;
# Don't forget to run parse-requirements.py after updating
hassVersion = "0.74.2";
hassVersion = "0.75.1";
in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant";
@ -89,7 +89,16 @@ in with py.pkgs; buildPythonApplication rec {
owner = "home-assistant";
repo = "home-assistant";
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 = [

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "home-assistant-frontend";
version = "20180720.0";
version = "20180804.0";
src = fetchPypi {
inherit pname version;
sha256 = "4a9d570cfc1d6b0e4b914897197d6772d48aa38b10202a648e79c5fb2a6a0293";
sha256 = "50a9e74efe2b56fbc34fba07205829e0ea77315183e85c235d177cabff3b62ee";
};
propagatedBuildInputs = [ user-agents ];

View File

@ -1,6 +1,6 @@
{ callPackage, ... }@args:
callPackage ./generic.nix (args // {
version = "1.15.1";
sha256 = "0q2lkpnfqf74p22vrcldx0gcnss3is7rnp54fgpvhcpqsxc6h867";
version = "1.15.2";
sha256 = "145dcypq8dqc5as03iy1ycwifwynq9p4i8m56fn7g0myryp0kfpf";
})

View File

@ -94,6 +94,16 @@
'';
};
lua-upstream = {
src = fetchFromGitHub {
owner = "openresty";
repo = "lua-upstream-nginx-module";
rev = "v0.07";
sha256 = "1gqccg8airli3i9103zv1zfwbjm27h235qjabfbfqk503rjamkpk";
};
inputs = [ pkgs.luajit ];
};
modsecurity = {
src = "${pkgs.modsecurity_standalone.nginx}/nginx/modsecurity";
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 = {
src = fetchFromGitHub {
owner = "yaoweibin";
@ -234,6 +271,15 @@
inputs = [ pkgs.msgpuck.dev pkgs.yajl ];
};
url = {
src = fetchFromGitHub {
owner = "vozlt";
repo = "nginx-module-url";
rev = "9299816ca6bc395625c3683fbd2aa7b916bfe91e";
sha256 = "0mk1gjmfnry6hgdsnlavww9bn7223idw50jlkhh5k00q5509w4ip";
};
};
vts = {
src = fetchFromGitHub {
owner = "vozlt";

View File

@ -27,7 +27,7 @@
, opusSupport ? true, libopus
, soundcloudSupport ? true, yajl
, nfsSupport ? true, libnfs
, smbSupport ? true, smbclient
, smbSupport ? true, samba
}:
assert avahiSupport -> avahi != null && dbus != null;
@ -85,7 +85,7 @@ in stdenv.mkDerivation rec {
++ opt opusSupport libopus
++ opt soundcloudSupport yajl
++ opt (!stdenv.isDarwin && nfsSupport) libnfs
++ opt (!stdenv.isDarwin && smbSupport) smbclient;
++ opt (!stdenv.isDarwin && smbSupport) samba;
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -22,14 +22,14 @@ galeraLibs = buildEnv {
};
common = rec { # attributes common to both builds
version = "10.3.8";
version = "10.2.16";
src = fetchurl {
urls = [
"https://downloads.mariadb.org/f/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";
};

View File

@ -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
, flock
, withMysql ? false
@ -24,17 +24,17 @@ let
ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
in stdenv.mkDerivation rec {
version = "18.01";
version = "18.06";
name = "ejabberd-${version}";
src = fetchurl {
url = "https://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
sha256 = "01i2n8mlgw293jdf4172f9q8ca8m35vysjws791p7nynpfdb4cn6";
sha256 = "1c4h6qrckihm8v4vm52h31j5dxg7247vk374rwz41idfb25vx7dc";
};
nativeBuildInputs = [ fakegit ];
buildInputs = [ erlang openssl expat libyaml gd ]
buildInputs = [ erlang openssl expat libyaml gd makeWrapper ]
++ lib.optional withSqlite sqlite
++ lib.optional withPam pam
++ lib.optional withZlib zlib
@ -75,7 +75,7 @@ in stdenv.mkDerivation rec {
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "1v3h0c7kfifb6wsfxyv5j1wc7rlxbb7r0pgd4s340wiyxnllzzhk";
outputHash = "1bk3yd10cq6vlgmh2qawl82m29yi5zcbsdlz17xyy76sg2ka622a";
};
configureFlags =
@ -106,6 +106,7 @@ in stdenv.mkDerivation rec {
-e 's,\(^ *JOT=\).*,\1,' \
-e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/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; {

View File

@ -2,16 +2,16 @@
buildGoPackage rec {
name = "antibody-${version}";
version = "3.5.1";
version = "3.6.1";
rev = "v${version}";
goPackagePath = "github.com/getantibody/antibody";
src = fetchFromGitHub {
inherit rev;
owner = "getantibody";
repo = "antibody";
sha256 = "0bqq59vnnm80jiqlhn7wfyzj96nkv8k9zp8i4sgcj8gvk1zq2lbc";
sha256 = "1xlaf3440hs1ffa23ja0fc185sj0rxjv0808ib8li3rq2qfkd0k8";
};
goDeps = ./deps.nix;

View File

@ -1,17 +1,19 @@
{ stdenv, pythonPackages, bash }:
pythonPackages.buildPythonApplication rec {
pname = "simp_le-client";
version = "0.8.0";
{ stdenv, python3Packages, bash }:
src = pythonPackages.fetchPypi {
python3Packages.buildPythonApplication rec {
pname = "simp_le-client";
version = "0.9.0";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "0nv9mm99rm8i9flgfgwvmajbsxb5rm162nfxlq3wk66bbbyr6y1i";
sha256 = "1yxfznd78zkg2f657v520zj5w4dvq5n594d0kpm4lra8xnpg4zcv";
};
postPatch = ''
# drop upper bound of acme requirement
sed -ri "s/'(acme>=[^,]+),<[^']+'/'\1'/" setup.py
# drop upper bound of idna requirement
sed -ri "s/'(idna)<[^']+'/'\1'/" setup.py
substituteInPlace simp_le.py \
--replace "/bin/sh" "${bash}/bin/sh"
'';
@ -20,14 +22,13 @@ pythonPackages.buildPythonApplication rec {
$out/bin/simp_le --test
'';
propagatedBuildInputs = with pythonPackages; [ acme setuptools_scm josepy ];
propagatedBuildInputs = with python3Packages; [ acme setuptools_scm josepy idna ];
meta = with stdenv.lib; {
homepage = https://github.com/zenhack/simp_le;
description = "Simple Let's Encrypt client";
license = licenses.gpl3;
maintainers = with maintainers; [ gebner makefu ];
platforms = platforms.all;
platforms = platforms.linux;
};
}

View File

@ -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
# 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:
#
# substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter'

View File

@ -1,6 +1,6 @@
{ lib, buildPythonApplication, fetchFromGitHub, protobuf, roundup }:
{ lib, python2, fetchFromGitHub, roundup }:
buildPythonApplication rec {
python2.pkgs.buildPythonApplication rec {
pname = "ddar";
version = "1.0";
@ -23,7 +23,7 @@ buildPythonApplication rec {
make -f Makefile.prep synctus/ddar_pb2.py
'';
propagatedBuildInputs = [ protobuf ];
propagatedBuildInputs = with python2.pkgs; [ protobuf ];
checkInputs = [ roundup ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, coreutils, python, duplicity, gawk, gnupg1, bash
{ stdenv, fetchurl, coreutils, python2, duplicity, gawk, gnupg1, bash
, gnugrep, txt2man, makeWrapper, which
}:
@ -19,7 +19,7 @@ stdenv.mkDerivation {
mkdir -p "$out/share/man/man1"
install -vD duply "$out/bin"
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"
'';

View File

@ -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
, hicolor-icon-theme, librsvg, wrapGAppsHook, gobjectIntrospection
, withPulseAudio ? true, libpulseaudio }:
let
pythonPackages = python3Packages;
binPath = lib.makeBinPath [ xdg_utils dnsmasq dhcp ];
in stdenv.mkDerivation rec {

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "f2fs-tools-${version}";
version = "1.10.0";
version = "1.11.0";
src = fetchgit {
url = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
rev = "refs/tags/v${version}";
sha256 = "1254pd254l1hxkzkkzqmzc0j9vywj2wddg9apqaixjninj21jrbc";
sha256 = "188yv77ga466wpzbirsx6vspym8idaschgi7cx92z4jwqpnkk5gv";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -6,7 +6,7 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "squashfuse";
version = "unstable-2018-02-20";
version = "0.1.103";
name = "${pname}-${version}";
meta = {
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "vasi";
repo = "${pname}";
rev = "3f4a93f373796e88f7eee3a0c005ef60cb395d30";
rev = "540204955134eee44201d50132a5f66a246bcfaf";
sha256 = "07jv4qjjz9ky3mw3p5prgs19g1bna9dcd7jjdz8083s1wyipdgcq";
};

View File

@ -1,22 +1,26 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
version = "1.0.1";
version = "2.1.0";
name = "oxipng-${version}";
src = fetchFromGitHub {
owner = "shssoichiro";
repo = "oxipng";
rev = "v${version}";
sha256 = "0w39f0dhq9cxk25vy0wh8vicxyckvj1vmglx5va4550i3q0hsrws";
sha256 = "13rzkfb025y4i9dj66fgc74whgs90gyw861dccsj16cpfl6kh5z0";
};
cargoSha256 = "00nbx6n73yl4ax05pqkmim1vhy0pymgz5la1cc4y18gjbjjj9w4h";
cargoSha256 = "0l6ad8rnifd5hkv6x2cr0frdddsfwm1xd1v56imlglsjkgz56cva";
meta = with stdenv.lib; {
homepage = https://github.com/shssoichiro/oxipng;
description = "A lossless PNG compression optimizer";
license = licenses.mit;
maintainers = with maintainers; [ dywedir ];
platforms = platforms.all;
# macro is_arm_feature_detected! is unstable
broken = stdenv.isAarch64;
};
}

View 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;
};
}

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, makeWrapper, pythonPackages, perl, zip
{ stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip
, rtmpdump }:
let
inherit (pythonPackages) python nose pycrypto requests mock;
inherit (python3Packages) python nose pycrypto requests mock;
in stdenv.mkDerivation rec {
name = "svtplay-dl-${version}";
version = "1.9.11";

View File

@ -1,6 +1,6 @@
{ useLua ? !stdenv.isDarwin
, usePcre ? true
, stdenv, fetchurl, fetchpatch
, stdenv, fetchurl
, openssl, zlib, lua5_3 ? null, pcre ? null
}:
@ -9,26 +9,14 @@ assert usePcre -> pcre != null;
stdenv.mkDerivation rec {
pname = "haproxy";
version = "1.8.9";
version = "1.8.13";
name = "${pname}-${version}";
src = fetchurl {
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 ]
++ stdenv.lib.optional useLua lua5_3
++ stdenv.lib.optional usePcre pcre;
@ -51,7 +39,8 @@ stdenv.mkDerivation rec {
"USE_LUA=yes"
"LUA_LIB=${lua5_3}/lib"
"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 = {
description = "Reliable, high performance TCP/HTTP load balancer";

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