···33sources_=($sources)
44targets_=($targets)
5566-echo $objects
76objects=($objects)
87symlinks=($symlinks)
98···1312 res="$1"
1413 if test "${res:0:1}" = /; then res=${res:1}; fi
1514}
1616-1717-touch pathlist
18151916# Add the individual files.
2017for ((i = 0; i < ${#targets_[@]}; i++)); do
···252226232724# Add the closures of the top-level store objects.
2525+chmod +w .
2826mkdir -p nix/store
2929-storePaths=$(perl $pathsFromGraph closure-*)
3030-for i in $storePaths; do
2727+for i in $(< $closureInfo/store-paths); do
3128 cp -a "$i" "${i:1}"
3229done
3330···3532# TODO tar ruxo
3633# Also include a manifest of the closures in a format suitable for
3734# nix-store --load-db.
3838-printRegistration=1 perl $pathsFromGraph closure-* > nix-path-registration
3535+cp $closureInfo/registration nix-path-registration
39364037# Add symlinks to the top-level store objects.
4138for ((n = 0; n < ${#objects[*]}; n++)); do
···4545 else "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}";
4646 };
47474848- workerOpts = { name, ... }: {
4848+ traceWarning = w: x: builtins.trace "[1;31mwarning: ${w}[0m" x;
4949+5050+ workerOpts = { name, options, ... }: {
4951 options = {
5052 enable = mkOption {
5153 type = types.nullOr types.bool;
···5961 };
6062 type = mkOption {
6163 type = types.nullOr (types.enum [
6262- "normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua"
6464+ "normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua" "proxy"
6365 ]);
6464- description = "The type of this worker";
6666+ description = ''
6767+ The type of this worker. The type <literal>proxy</literal> is
6868+ deprecated and only kept for backwards compatibility and should be
6969+ replaced with <literal>rspamd_proxy</literal>.
7070+ '';
7171+ apply = let
7272+ from = "services.rspamd.workers.\”${name}\".type";
7373+ files = options.type.files;
7474+ warning = "The option `${from}` defined in ${showFiles files} has enum value `proxy` which has been renamed to `rspamd_proxy`";
7575+ in x: if x == "proxy" then traceWarning warning "rspamd_proxy" else x;
6576 };
6677 bindSockets = mkOption {
6778 type = types.listOf (types.either types.str (types.submodule bindSocketOpts));
···3939 '';
40404141 meta = with stdenv.lib; {
4242- homepage = http://repo.or.cz/w/llpp.git;
4242+ homepage = https://repo.or.cz/w/llpp.git;
4343 description = "A MuPDF based PDF pager written in OCaml";
4444 platforms = platforms.linux;
4545 maintainers = with maintainers; [ pSub ];
···2233Sage is a pretty complex package that depends on many other complex packages and patches some of those. As a result, the sage nix package is also quite complex.
4455-Don't feel discouraged to fix, simplify or improve things though. Here's a quick overview over the functions of the individual files:
66-77-- `sage-src.nix`
88- Downloads the source code and applies patches. This makes sure that all the other files work with the same sage source. If you want to apply a patch to sage or update sage to a new version, this is the place to do it.
99-1010-- `env-locations.nix`
1111- Creates a bash file that sets a bunch of environment variables telling sage where to find various packages and files. The definitions of those environment variables can be found in the sage source in the `src/env.py` file. This bash file needs to be sourced before sage is started (done in `sage-env.nix` and `sagedoc.nix`).
1212-1313-- `sage-env.nix`
1414- Sets all environment variables sage needs to run. This includes the package locations defined in `env-locations.nix` as well as the location of sage itself and its various subdirectories.
1515-1616-- `sagelib.nix`
1717- Defines the main sage package (without setting the necessary environments or running any tests).
1818-1919-- `sage-with-env.nix`
2020- Wraps sage in the necessary environment.
2121-2222-- `sage.nix`
2323- Runs sages doctests.
2424-2525-- `sage-wrapper.nix`
2626- Optionally tells sage where do find the docs.
2727-2828-- `sagedoc.nix`
2929- Builds and tests the sage html documentation. Can be used for offline documentation viewing as well as the sage `browse_sage_doc` and `search_doc` functions.
3030-3131-- `sagenb.nix`
3232- The (semi deprecated) sage notebook.
3333-3434-- `default.nix`
3535- Introduces necessary overrides, defines new packages and ties everything together (returning the `sage` package).
3636-3737-- `flask-oldsessions.nix`, `flask-openid.nix`, `python-openid.nix`
3838- These are python packages that were rejected from the main nixpkgs tree because they appear unmaintained. They are needed for the (semi-deprecated) sage notebook. Since that notebook is still needed to run the sage doctests, these packages are included but not exposed to the rest of nixpkgs.
3939-4040-- `pybrial.nix`
4141- pybrial is a dependency of sage. However, pybrial itself also has sage as a dependency. Because of that circular dependency, pybrial is hidden from the rest of nixpkgs (just as the flask packages and python-openid.
4242-4343-- `openblas-pc.nix`
4444- This creates a `.pc` file to be read by `pkg-config` that allows openblas to take on different roles, like `cblas` or `lapack`.
55+Don't feel discouraged to fix, simplify or improve things though. The individual files have comments explaining their purpose. The most importent ones are `default.nix` linking everything together, `sage-src.nix` adding patches and `sagelib.nix` building the actual sage package.
456467## The sage build is broken
478
+89-54
pkgs/applications/science/math/sage/default.nix
···11-{ nixpkgs
11+{ pkgs
22, withDoc ? false
33}:
4455+# Here sage and its dependencies are put together. Some dependencies may be pinned
66+# as a last resort. Patching sage for compatibility with newer dependency versions
77+# is always preferred, see `sage-src.nix` for that.
88+59let
66- inherit (nixpkgs) fetchpatch fetchurl symlinkJoin callPackage nodePackages;
1010+ inherit (pkgs) fetchurl symlinkJoin callPackage nodePackages;
711812 # https://trac.sagemath.org/ticket/15980 for tracking of python3 support
99- python = nixpkgs.python2.override {
1313+ python = pkgs.python2.override {
1014 packageOverrides = self: super: {
1115 # python packages that appear unmaintained and were not accepted into the nixpkgs
1216 # tree because of that. These packages are only dependencies of the more-or-less
1317 # deprecated sagenb. However sagenb is still a default dependency and the doctests
1418 # depend on it.
1519 # See https://github.com/NixOS/nixpkgs/pull/38787 for a discussion.
2020+ # The dependency on the sage notebook (and therefore these packages) will be
2121+ # removed in the future:
2222+ # https://trac.sagemath.org/ticket/25837
1623 flask-oldsessions = self.callPackage ./flask-oldsessions.nix {};
1724 flask-openid = self.callPackage ./flask-openid.nix {};
1825 python-openid = self.callPackage ./python-openid.nix {};
2626+ sagenb = self.callPackage ./sagenb.nix {
2727+ mathjax = nodePackages.mathjax;
2828+ };
19293030+ # Package with a cyclic dependency with sage
2031 pybrial = self.callPackage ./pybrial.nix {};
21323333+ # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
2234 sagelib = self.callPackage ./sagelib.nix {
2335 inherit flint ecl arb;
2424- inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
2525- linbox = nixpkgs.linbox.override { withSage = true; };
3636+ inherit sage-src pynac singular;
3737+ linbox = pkgs.linbox.override { withSage = true; };
2638 };
3939+ };
4040+ };
27412828- sagenb = self.callPackage ./sagenb.nix {
2929- mathjax = nodePackages.mathjax;
3030- };
4242+ jupyter-kernel-definition = {
4343+ displayName = "SageMath ${sage-src.version}";
4444+ argv = [
4545+ "${sage-with-env}/bin/sage" # FIXME which sage
4646+ "--python"
4747+ "-m"
4848+ "sage.repl.ipython_kernel"
4949+ "-f"
5050+ "{connection_file}"
5151+ ];
5252+ language = "sagemath";
5353+ # just one 16x16 logo is available
5454+ logo32 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
5555+ logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
5656+ };
31573232- sagedoc = self.callPackage ./sagedoc.nix {
3333- inherit sage-src;
3434- };
5858+ # A bash script setting various environment variables to tell sage where
5959+ # the files its looking fore are located. Also see `sage-env`.
6060+ env-locations = callPackage ./env-locations.nix {
6161+ inherit pari_data ecl;
6262+ inherit singular;
6363+ cysignals = python.pkgs.cysignals;
6464+ three = nodePackages.three;
6565+ mathjax = nodePackages.mathjax;
6666+ };
35673636- env-locations = self.callPackage ./env-locations.nix {
3737- inherit pari_data ecl;
3838- inherit singular;
3939- three = nodePackages.three;
4040- mathjax = nodePackages.mathjax;
4141- };
6868+ # The shell file that gets sourced on every sage start. Will also source
6969+ # the env-locations file.
7070+ sage-env = callPackage ./sage-env.nix {
7171+ sagelib = python.pkgs.sagelib;
7272+ inherit env-locations;
7373+ inherit python rWrapper ecl singular palp flint pynac pythonEnv;
7474+ pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
7575+ };
42764343- sage-env = self.callPackage ./sage-env.nix {
4444- inherit sage-src python rWrapper openblas-cblas-pc ecl singular palp flint pynac pythonEnv;
4545- pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
4646- };
4747-4848- sage-with-env = self.callPackage ./sage-with-env.nix {
4949- inherit pythonEnv;
5050- inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
5151- pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
5252- three = nodePackages.three;
5353- };
5454-5555- sage = self.callPackage ./sage.nix { };
7777+ # The documentation for sage, building it takes a lot of ram.
7878+ sagedoc = callPackage ./sagedoc.nix {
7979+ inherit sage-with-env;
8080+ inherit python;
8181+ };
56825757- sage-wrapper = self.callPackage ./sage-wrapper.nix {
5858- inherit sage-src withDoc;
5959- };
6060- };
8383+ # sagelib with added wrappers and a dependency on sage-tests to make sure thet tests were run.
8484+ sage-with-env = callPackage ./sage-with-env.nix {
8585+ inherit pythonEnv;
8686+ inherit sage-env;
8787+ inherit pynac singular;
8888+ pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
8989+ three = nodePackages.three;
6190 };
62916363- openblas-blas-pc = callPackage ./openblas-pc.nix { name = "blas"; };
6464- openblas-cblas-pc = callPackage ./openblas-pc.nix { name = "cblas"; };
6565- openblas-lapack-pc = callPackage ./openblas-pc.nix { name = "lapack"; };
9292+ # Doesn't actually build anything, just runs sages testsuite. This is a
9393+ # separate derivation to make it possible to re-run the tests without
9494+ # rebuilding sagelib (which takes ~30 minutes).
9595+ # Running the tests should take something in the order of 1h.
9696+ sage-tests = callPackage ./sage-tests.nix {
9797+ inherit sage-with-env;
9898+ };
669967100 sage-src = callPackage ./sage-src.nix {};
68101···77110 sympy
78111 fpylll
79112 matplotlib
113113+ tkinter # optional, as a matplotlib backend (use with `%matplotlib tk`)
80114 scipy
81115 ipywidgets
82116 rpy2
···91125 } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible
9212693127 # needs to be rWrapper, standard "R" doesn't include default packages
9494- rWrapper = nixpkgs.rWrapper.override {
128128+ rWrapper = pkgs.rWrapper.override {
95129 # https://trac.sagemath.org/ticket/25674
9696- R = nixpkgs.R.overrideAttrs (attrs: rec {
130130+ R = pkgs.R.overrideAttrs (attrs: rec {
97131 name = "R-3.4.4";
98132 src = fetchurl {
99133 url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
···102136 });
103137 };
104138105105- arb = nixpkgs.arb.override { inherit flint; };
139139+ arb = pkgs.arb.override { inherit flint; };
106140107107- singular = nixpkgs.singular.override { inherit flint; };
141141+ singular = pkgs.singular.override { inherit flint; };
108142109143 # *not* to confuse with the python package "pynac"
110110- pynac = nixpkgs.pynac.override { inherit singular flint; };
144144+ pynac = pkgs.pynac.override { inherit singular flint; };
111145112146 # With openblas (64 bit), the tests fail the same way as when sage is build with
113147 # openblas instead of openblasCompat. Apparently other packages somehow use flints
114148 # blas when it is available. Alternative would be to override flint to use
115149 # openblasCompat.
116116- flint = nixpkgs.flint.override { withBlas = false; };
150150+ flint = pkgs.flint.override { withBlas = false; };
117151118152 # Multiple palp dimensions need to be available and sage expects them all to be
119153 # in the same folder.
120154 palp = symlinkJoin {
121121- name = "palp-${nixpkgs.palp.version}";
155155+ name = "palp-${pkgs.palp.version}";
122156 paths = [
123123- (nixpkgs.palp.override { dimensions = 4; doSymlink = false; })
124124- (nixpkgs.palp.override { dimensions = 5; doSymlink = false; })
125125- (nixpkgs.palp.override { dimensions = 6; doSymlink = true; })
126126- (nixpkgs.palp.override { dimensions = 11; doSymlink = false; })
157157+ (pkgs.palp.override { dimensions = 4; doSymlink = false; })
158158+ (pkgs.palp.override { dimensions = 5; doSymlink = false; })
159159+ (pkgs.palp.override { dimensions = 6; doSymlink = true; })
160160+ (pkgs.palp.override { dimensions = 11; doSymlink = false; })
127161 ];
128162 };
129163130164 # Sage expects those in the same directory.
131165 pari_data = symlinkJoin {
132166 name = "pari_data";
133133- paths = with nixpkgs; [
167167+ paths = with pkgs; [
134168 pari-galdata
135169 pari-seadata-small
136170 ];
137171 };
138172139173 # https://trac.sagemath.org/ticket/22191
140140- ecl = nixpkgs.ecl_16_1_2;
174174+ ecl = pkgs.ecl_16_1_2;
141175in
142142- python.pkgs.sage-wrapper // {
143143- doc = python.pkgs.sagedoc;
144144- lib = python.pkgs.sagelib;
145145- }
176176+# A wrapper around sage that makes sure sage finds its docs (if they were build).
177177+callPackage ./sage.nix {
178178+ inherit sage-tests sage-with-env sagedoc jupyter-kernel-definition;
179179+ inherit withDoc;
180180+}
···1616, cysignals
1717}:
18181919+# A bash script setting various environment variables to tell sage where
2020+# the files its looking fore are located. Also see `sage-env`.
1921writeTextFile rec {
2022 name = "sage-env-locations";
2123 destination = "/${name}";
···11-diff --git a/build/pkgs/openblas/package-version.txt b/build/pkgs/openblas/package-version.txt
22-index 3bc45c25d4..7c7c224887 100644
33---- a/src/sage/schemes/elliptic_curves/padics.py
44-+++ b/src/sage/schemes/elliptic_curves/padics.py
55-@@ -292,8 +292,8 @@ def padic_regulator(self, p, prec=20, height=None, check_hypotheses=True):
66-77- sage: max_prec = 30 # make sure we get past p^2 # long time
88- sage: full = E.padic_regulator(5, max_prec) # long time
99-- sage: for prec in range(1, max_prec): # long time
1010-- ....: assert E.padic_regulator(5, prec) == full # long time
1111-+ sage: for prec in range(1, max_prec): # known bug (#25969) # long time
1212-+ ....: assert E.padic_regulator(5, prec) == full # known bug (#25969) # long time
1313-1414- A case where the generator belongs to the formal group already
1515- (:trac:`3632`)::
···11-diff --git a/src/sage/all.py b/src/sage/all.py
22-index 14cec431f1..25a35a0522 100644
33---- a/src/sage/all.py
44-+++ b/src/sage/all.py
55-@@ -310,6 +310,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0))
66- # Ignore all deprecations from IPython etc.
77- warnings.filterwarnings('ignore',
88- module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)')
99-+warnings.filterwarnings('ignore', "The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.") # matplotlib normed deprecation
1010- # However, be sure to keep OUR deprecation warnings
1111- warnings.filterwarnings('default',
1212- '[\s\S]*See http://trac.sagemath.org/[0-9]* for details.')
+17-11
pkgs/applications/science/math/sage/sage-env.nix
···22, lib
33, writeTextFile
44, python
55-, sage-src
65, sagelib
76, env-locations
87, gfortran
···3736, lcalc
3837, rubiks
3938, flintqs
4040-, openblas-cblas-pc
3939+, openblasCompat
4140, flint
4241, gmp
4342, mpfr
···4645, gsl
4746, ntl
4847}:
4848+4949+# This generates a `sage-env` shell file that will be sourced by sage on startup.
5050+# It sets up various environment variables, telling sage where to find its
5151+# dependencies.
49525053let
5154 runtimepath = (lib.makeBinPath ([
···9699 destination = "/${name}";
97100 text = ''
98101 export PKG_CONFIG_PATH='${lib.concatStringsSep ":" (map (pkg: "${pkg}/lib/pkgconfig") [
9999- # This is only needed in the src/sage/misc/cython.py test and I'm not sure if there's really a use-case
100100- # for it outside of the tests. However since singular and openblas are runtime dependencies anyways
101101- # and openblas-cblas-pc is tiny, it doesn't really hurt to include.
102102+ # This is only needed in the src/sage/misc/cython.py test and I'm not
103103+ # sure if there's really a usecase for it outside of the tests. However
104104+ # since singular and openblas are runtime dependencies anyways, it doesn't
105105+ # really hurt to include.
102106 singular
103103- openblas-cblas-pc
107107+ openblasCompat
104108 ])
105109 }'
106106- export SAGE_ROOT='${sage-src}'
110110+ export SAGE_ROOT='${sagelib.src}'
107111 export SAGE_LOCAL='@sage-local@'
108112 export SAGE_SHARE='${sagelib}/share'
109113 orig_path="$PATH"
110114 export PATH='${runtimepath}'
111115112116 # set dependent vars, like JUPYTER_CONFIG_DIR
113113- source "${sage-src}/src/bin/sage-env"
117117+ source "${sagelib.src}/src/bin/sage-env"
114118 export PATH="${runtimepath}:$orig_path" # sage-env messes with PATH
115119116120 export SAGE_LOGS="$TMPDIR/sage-logs"
117121 export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}"
118118- export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sage-src}/src/doc}"
122122+ export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sagelib.src}/src/doc}"
119123120124 # set locations of dependencies
121125 . ${env-locations}/sage-env-locations
···154158155159 export SAGE_LIB='${sagelib}/${python.sitePackages}'
156160157157- export SAGE_EXTCODE='${sage-src}/src/ext'
161161+ export SAGE_EXTCODE='${sagelib.src}/src/ext'
158162159159- # for find_library
163163+ # for find_library
160164 export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}:$DYLD_LIBRARY_PATH"
161165 '';
166166+} // {
167167+ lib = sagelib; # equivalent of `passthru`, which `writeTextFile` doesn't support
162168}
+22-9
pkgs/applications/science/math/sage/sage-src.nix
···22, fetchFromGitHub
33, fetchpatch
44}:
55+66+# This file is responsible for fetching the sage source and adding necessary patches.
77+# It does not actually build anything, it just copies the patched sources to $out.
88+# This is done because multiple derivations rely on these sources and they should
99+# all get the same sources with the same patches applied.
1010+511stdenv.mkDerivation rec {
612 version = "8.4";
713 name = "sage-src-${version}";
···1319 sha256 = "0gips1hagiz9m7s21bg5as8hrrm2x5k47h1bsq0pc46iplfwmv2d";
1420 };
15212222+ # Patches needed because of particularities of nix or the way this is packaged.
2323+ # The goal is to upstream all of them and get rid of this list.
1624 nixPatches = [
1725 # https://trac.sagemath.org/ticket/25358
1826 (fetchpatch {
···3139 # Revert the commit that made the sphinx build fork even in the single thread
3240 # case. For some yet unknown reason, that breaks the docbuild on nix and archlinux.
3341 # See https://groups.google.com/forum/#!msg/sage-packaging/VU4h8IWGFLA/mrmCMocYBwAJ.
4242+ # https://trac.sagemath.org/ticket/26608
3443 ./patches/revert-sphinx-always-fork.patch
35443645 # Make sure py2/py3 tests are only run when their expected context (all "sage"
···3948 ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
4049 ];
41505151+ # Patches needed because of package updates. We could just pin the versions of
5252+ # dependencies, but that would lead to rebuilds, confusion and the burdons of
5353+ # maintaining multiple versions of dependencies. Instead we try to make sage
5454+ # compatible with never dependency versions when possible. All these changes
5555+ # should come from or be proposed to upstream. This list will probably never
5656+ # be empty since dependencies update all the time.
4257 packageUpgradePatches = let
4343- # fetch a diff between base and rev on sage's git server
4444- # used to fetch trac tickets by setting the base to the release and the
4545- # revision to the last commit that should be included
5858+ # Fetch a diff between `base` and `rev` on sage's git server.
5959+ # Used to fetch trac tickets by setting the `base` to the last release and the
6060+ # `rev` to the last commit of the ticket.
4661 fetchSageDiff = { base, rev, ...}@args: (
4762 fetchpatch ({
4863 url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
···5469 in [
5570 # New glpk version has new warnings, filter those out until upstream sage has found a solution
5671 # https://trac.sagemath.org/ticket/24824
5757- ./patches/pari-stackwarn.patch # not actually necessary since tha pari upgrade, but necessary for the glpk patch to apply
7272+ ./patches/pari-stackwarn.patch # not actually necessary since the pari upgrade, but necessary for the glpk patch to apply
5873 (fetchpatch {
5974 url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch";
6075 sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp";
···6479 # https://trac.sagemath.org/ticket/25260
6580 ./patches/numpy-1.15.1.patch
66816767- # ntl upgrade
6868- # https://trac.sagemath.org/ticket/25532#comment:29
8282+ # needed for ntl update
8383+ # https://trac.sagemath.org/ticket/25532
6984 (fetchpatch {
7085 name = "lcalc-c++11.patch";
7186 url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sagemath-lcalc-c++11.patch?h=packages/sagemath&id=0e31ae526ab7c6b5c0bfacb3f8b1c4fd490035aa";
···100115 })
101116 ];
102117103103- patches = nixPatches ++ packageUpgradePatches ++ [
104104- ./patches/known-padics-bug.patch
105105- ];
118118+ patches = nixPatches ++ packageUpgradePatches;
106119107120 postPatch = ''
108121 # make sure shebangs etc are fixed, but sage-python23 still works
···33, buildPythonPackage
44, arb
55, openblasCompat
66-, openblas-blas-pc
77-, openblas-cblas-pc
88-, openblas-lapack-pc
96, brial
107, cliquer
118, cypari2
···5148, libbraiding
5249}:
53505151+# This is the core sage python package. Everything else is just wrappers gluing
5252+# stuff together. It is not very useful on its own though, since it will not
5353+# find many of its dependencies without `sage-env`, will not be tested without
5454+# `sage-tests` and will not have html docs without `sagedoc`.
5555+5456buildPythonPackage rec {
5557 format = "other";
5656- version = sage-src.version;
5757- pname = "sagelib";
5858-5858+ version = src.version;
5959+ name = "sagelib-${version}";
5960 src = sage-src;
60616162 nativeBuildInputs = [
6263 iml
6364 perl
6464- openblas-blas-pc
6565- openblas-cblas-pc
6666- openblas-lapack-pc
6765 jupyter_core
6866 ];
6967
+4-1
pkgs/applications/science/math/sage/sagenb.nix
···11-# Has a cyclic dependency with sage (not expressed here) and is not useful outside of sage
21{ stdenv
32, fetchpatch
43, python
···1211, flask-autoindex
1312, flask-babel
1413}:
1414+1515+# Has a cyclic dependency with sage (not expressed here) and is not useful outside of sage.
1616+# Deprecated, hopefully soon to be removed. See
1717+# https://trac.sagemath.org/ticket/25837
15181619buildPythonPackage rec {
1720 pname = "sagenb";
···66 owner = "eosrei";
77 repo = "twemoji-color-font";
88 rev = "v${meta.version}";
99- sha256 = "0z8r7z2r0r2wng4a7hvqvkcpd43l0d57yl402r7ci5bnmb02yvsa";
99+ sha256 = "07yawvbdkk15d7ac9dj7drs1rqln9sba1fd6jx885ms7ww2sfm7r";
1010 };
11111212 nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
···2121 '';
22222323 meta = with stdenv.lib; {
2424- version = "1.4";
2424+ version = "11.2.0";
2525 description = "Color emoji SVGinOT font using Twitter Unicode 10 emoji with diversity and country flags";
2626 longDescription = ''
2727 A color and B&W emoji SVGinOT font built from the Twitter Emoji for
···1515 # Patches coming from debian package
1616 # https://packages.debian.org/source/sid/libs/libmatheval
1717 patches = [ (fetchpatch {
1818- url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/002-skip-docs.patch";
1818+ url = "https://salsa.debian.org/science-team/libmatheval/raw/debian/1.1.11+dfsg-3/debian/patches/002-skip-docs.patch";
1919 sha256 = "1nnkk9aw4jj6nql46zhwq6vx74zrmr1xq5ix0xyvpawhabhgjg62";
2020 } )
2121 (fetchpatch {
2222- url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/003-guile2.0.patch";
2222+ url = "https://salsa.debian.org/science-team/libmatheval/raw/debian/1.1.11+dfsg-3/debian/patches/003-guile2.0.patch";
2323 sha256 = "1xgfw4finfvr20kjbpr4yl2djxmyr4lmvfa11pxirfvhrdi602qj";
2424 } )
2525 (fetchpatch {
2626- url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/disable_coth_test.patch";
2626+ url = "https://salsa.debian.org/science-team/libmatheval/raw/debian/1.1.11+dfsg-3/debian/patches/disable_coth_test.patch";
2727 sha256 = "0bai8jrd5azfz5afmjixlvifk34liq58qb7p9kb45k6kc1fqqxzm";
2828 } )
2929 ];
3030-3030+3131 meta = {
3232 description = "A library to parse and evaluate symbolic expressions input as text";
3333 longDescription = ''
3434- GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic
3535- expressions input as text. It supports expressions in any number of variables of arbitrary
3636- names, decimal and symbolic constants, basic unary and binary operators, and elementary
3737- mathematical functions. In addition to parsing and evaluation, libmatheval can also compute
3434+ GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic
3535+ expressions input as text. It supports expressions in any number of variables of arbitrary
3636+ names, decimal and symbolic constants, basic unary and binary operators, and elementary
3737+ mathematical functions. In addition to parsing and evaluation, libmatheval can also compute
3838 symbolic derivatives and output expressions to strings.
3939 '';
4040 homepage = https://www.gnu.org/software/libmatheval/;
···15151616 meta = with stdenv.lib; {
1717 description = "Protocol headers for the SPICE protocol";
1818- homepage = http://www.spice-space.org;
1818+ homepage = https://www.spice-space.org/;
1919 license = licenses.bsd3;
2020 maintainers = with maintainers; [ bluescreen303 ];
2121 platforms = platforms.linux;
+1-1
pkgs/development/libraries/spice/default.nix
···4141 VD-Interfaces. The VD-Interfaces (VDI) enable both ends of the solution to be easily
4242 utilized by a third-party component.
4343 '';
4444- homepage = http://www.spice-space.org/;
4444+ homepage = https://www.spice-space.org/;
4545 license = licenses.lgpl21;
46464747 maintainers = [ maintainers.bluescreen303 ];
+2-2
pkgs/development/libraries/taglib/1.9.nix
···44 name = "taglib-1.9.1";
5566 src = fetchurl {
77- url = http://taglib.github.io/releases/taglib-1.9.1.tar.gz;
77+ url = https://taglib.github.io/releases/taglib-1.9.1.tar.gz;
88 sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
99 };
1010···1313 buildInputs = [ zlib ];
14141515 meta = {
1616- homepage = http://developer.kde.org/~wheeler/taglib.html;
1616+ homepage = https://taglib.org/;
1717 repositories.git = git://github.com/taglib/taglib.git;
1818 description = "A library for reading and editing the meta-data of several popular audio formats";
1919 inherit (cmake.meta) platforms;
···11+{ lib, stdenv, buildPythonPackage, fetchPypi }:
22+33+buildPythonPackage rec {
44+ pname = "yattag";
55+ version = "1.10.1";
66+77+ src = fetchPypi {
88+ inherit pname version;
99+ sha256 = "0r3pwfygvpkgc0hzxc6z8dl56g6brlh52r0x8kcjhywr1biahqb2";
1010+ };
1111+1212+ meta = with lib; {
1313+ description = "Generate HTML or XML in a pythonic way. Pure python alternative to web template engines. Can fill HTML forms with default values and error messages.";
1414+ license = [ licenses.lgpl21 ];
1515+ homepage = http://www.yattag.org/;
1616+ };
1717+}
···99 buildInputs = [ perl ];
1010 meta = with stdenv.lib; {
1111 description = "Direct access to I/O ports from the command line";
1212- homepage = http://people.redhat.com/rjones/ioport/;
1212+ homepage = https://people.redhat.com/rjones/ioport/;
1313 license = licenses.gpl2Plus;
1414 platforms = [ "x86_64-linux" "i686-linux" ];
1515 maintainers = [ maintainers.cleverca22 ];
+1-1
pkgs/os-specific/linux/kernel/linux-rpi.nix
···2525 efiBootStub = false;
2626 } // (args.features or {});
27272828- extraMeta.hydraPlatforms = [];
2828+ extraMeta.hydraPlatforms = with stdenv.lib.platforms; [ aarch64 ];
2929})) (oldAttrs: {
3030 postConfigure = ''
3131 # The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
+3-3
pkgs/os-specific/linux/kernel/linux-testing.nix
···11{ stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
2233buildLinux (args // rec {
44- version = "4.20-rc3";
55- modDirVersion = "4.20.0-rc3";
44+ version = "4.20-rc4";
55+ modDirVersion = "4.20.0-rc4";
66 extraMeta.branch = "4.20";
7788 src = fetchurl {
99 url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
1010- sha256 = "0iin34alr5ax15pvilhdn5pifqav4gkxalb7vqb8zvxnhsm6kk58";
1010+ sha256 = "0kni1l1gk9mva7ym091mrkn9f2bdbh80i7589ahk6j5blpj9m3ns";
1111 };
12121313 # Should the testing kernels ever be built on Hydra?
+1-1
pkgs/os-specific/linux/keyutils/default.nix
···2323 ];
24242525 meta = with stdenv.lib; {
2626- homepage = http://people.redhat.com/dhowells/keyutils/;
2626+ homepage = https://people.redhat.com/dhowells/keyutils/;
2727 description = "Tools used to control the Linux kernel key management system";
2828 license = licenses.gpl2Plus;
2929 platforms = platforms.linux;
+1-1
pkgs/os-specific/linux/libcap-ng/default.nix
···32323333 meta = let inherit (stdenv.lib) platforms licenses maintainers; in {
3434 description = "Library for working with POSIX capabilities";
3535- homepage = http://people.redhat.com/sgrubb/libcap-ng/;
3535+ homepage = https://people.redhat.com/sgrubb/libcap-ng/;
3636 platforms = platforms.linux;
3737 license = licenses.lgpl21;
3838 maintainers = with maintainers; [ wkennington ];