···1011If the build broke as a result of a package update, try those solutions in order:
1213-- search the [sage trac](https://trac.sagemath.org/) for keywords like "Upgrade <package>". Maybe somebody has already proposed a patch that fixes the issue. You can then add a `fetchpatch` to `sage-src.nix`.
1415- check if [gentoo](https://github.com/cschwan/sage-on-gentoo/tree/master/sci-mathematics/sage), [debian](https://salsa.debian.org/science-team/sagemath/tree/master/debian) or [arch linux](https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath) already solved the problem. You can then again add a `fetchpatch` to `sage-src.nix`. If applicable you should also [propose the patch upstream](#proposing-a-sage-patch).
16···19```
20[user@localhost ~]$ git clone https://github.com/sagemath/sage.git
21[user@localhost ~]$ cd sage
22-[user@localhost sage]$ git checkout 8.2 # substitute the relevant version here
23```
2425Then make the needed changes and generate a patch with `git diff`:
···29[user@localhost ~]$ git diff -u > /path/to/nixpkgs/pkgs/applications/science/math/sage/patches/name-of-patch.patch
30```
3132-Now just add the patch to `sage-src.nix` and test your changes. If they fix the problem, [propose them upstream](#proposing-a-sage-patch) and add a link to the trac ticket.
3334- pin the package version in `default.nix` and add a note that explains why that is necessary.
3536-37-## Proposing a sage patch
38-39-You can [login the sage trac using GitHub](https://trac.sagemath.org/login). Your username will then be `gh-<your-github-name>`. The only other way is to request a trac account via email. After that refer to [git the hard way](http://doc.sagemath.org/html/en/developer/manual_git.html#chapter-manual-git) in the sage documentation. The "easy way" requires a non-GitHub account (requested via email) and a special tool. The "hard way" is really not all that hard if you're a bit familiar with git.
40-41-Here's the gist, assuming you want to use ssh key authentication. First, [add your public ssh key](https://trac.sagemath.org/prefs/sshkeys). Then:
42-43-```
44-[user@localhost ~]$ git clone https://github.com/sagemath/sage.git
45-[user@localhost ~]$ cd sage
46-[user@localhost sage]$ git remote add trac git@trac.sagemath.org:sage.git -t master
47-[user@localhost sage]$ git checkout -b u/gh-<your-github-username>/<your-branch-name> develop
48-[user@localhost sage]$ <make changes>
49-[user@localhost sage]$ git add .
50-[user@localhost sage]$ git commit
51-[user@localhost sage]$ git show # review your changes
52-[user@localhost sage]$ git push --set-upstream trac u/gh-<your-github-username>/<your-branch-name>
53-```
54-55-You now created a branch on the trac server (you *must* follow the naming scheme as you only have push access to branches with the `u/gh-<your-github-username>/` prefix).
56-Now you can [create a new trac ticket](https://trac.sagemath.org/newticket).
57-- Write a description of the change
58-- set the type and component as appropriate
59-- write your real name in the "Authors" field
60-- write `u/gh-<your-github-username>/<your-branch-name>` in the "Branch" field
61-- click "Create ticket"
62-- click "Modify" on the top right of your ticket (for some reason you can only change the ticket status after you have created it)
63-- set the ticket status from `new` to `needs_review`
64-- click "Save changes"
65-66-Refer to sages [Developer's Guide](http://doc.sagemath.org/html/en/developer/index.html) for further details.
67-68## I want to update sage
6970You'll need to change the `version` field in `sage-src.nix`. Afterwards just try to build and let nix tell you which patches no longer apply (hopefully because they were adopted upstream). Remove those.
···7475## Well, that didn't help!
7677-If you couldn't fix the problem, create a GitHub issue on the nixpkgs repo and ping @timokau (or whoever is listed in the `maintainers` list of the sage package).
78Describe what you did and why it didn't work. Afterwards it would be great if you help the next guy out and improve this documentation!
···1011If the build broke as a result of a package update, try those solutions in order:
1213+- search the [sage GitHub repo](https://github.com/sagemath/sage) for keywords like "Upgrade <package>". Maybe somebody has already proposed a patch that fixes the issue. You can then add a `fetchpatch` to `sage-src.nix`.
1415- check if [gentoo](https://github.com/cschwan/sage-on-gentoo/tree/master/sci-mathematics/sage), [debian](https://salsa.debian.org/science-team/sagemath/tree/master/debian) or [arch linux](https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath) already solved the problem. You can then again add a `fetchpatch` to `sage-src.nix`. If applicable you should also [propose the patch upstream](#proposing-a-sage-patch).
16···19```
20[user@localhost ~]$ git clone https://github.com/sagemath/sage.git
21[user@localhost ~]$ cd sage
22+[user@localhost sage]$ git checkout 9.8 # substitute the relevant version here
23```
2425Then make the needed changes and generate a patch with `git diff`:
···29[user@localhost ~]$ git diff -u > /path/to/nixpkgs/pkgs/applications/science/math/sage/patches/name-of-patch.patch
30```
3132+Now just add the patch to `sage-src.nix` and test your changes. If they fix the problem, submit a PR upstream (refer to sages [Developer's Guide](http://doc.sagemath.org/html/en/developer/index.html) for further details).
3334- pin the package version in `default.nix` and add a note that explains why that is necessary.
350000000000000000000000000000000036## I want to update sage
3738You'll need to change the `version` field in `sage-src.nix`. Afterwards just try to build and let nix tell you which patches no longer apply (hopefully because they were adopted upstream). Remove those.
···4243## Well, that didn't help!
4445+If you couldn't fix the problem, create a GitHub issue on the nixpkgs repo and ping the sage maintainers (as listed in the sage package).
46Describe what you did and why it didn't work. Afterwards it would be great if you help the next guy out and improve this documentation!
···57 );
58in
59stdenv.mkDerivation rec {
60- version = "9.7";
61 pname = "sage-src";
6263 src = fetchFromGitHub {
64 owner = "sagemath";
65 repo = "sage";
66 rev = version;
67- sha256 = "sha256-MYpCp18wqKwCa+tcJ7He14p1FXDlVm1vubQqQS9g3LY=";
68 };
6970 # Patches needed because of particularities of nix or the way this is packaged.
···89 # To help debug the transient error in
90 # https://trac.sagemath.org/ticket/23087 when it next occurs.
91 ./patches/configurationpy-error-verbose.patch
92-93- # https://trac.sagemath.org/ticket/33907
94- (fetchSageDiff {
95- name = "interfaces-expectpy-intermittent.patch";
96- base = "9.8.beta6";
97- rev = "6f5c1c2fc8bcfb5e6555716d05ce70511795ffa1";
98- sha256 = "sha256-z8FQxtrk62MHzPjrUTad+fMAE6XV8GTsLWKgGOM3zBg=";
99- })
100 ];
101102 # Patches needed because of package updates. We could just pin the versions of
···119 # adapted from https://trac.sagemath.org/ticket/23712#comment:22
120 ./patches/tachyon-renamed-focallength.patch
121122- # https://trac.sagemath.org/ticket/34118
123- (fetchSageDiff {
124- name = "sympy-1.11-upgrade.patch";
125- base = "9.7";
126- rev = "52815744bde2b682245b6f985a112f7cb8666056";
127- sha256 = "sha256-gv6z6JkQ6S6oCJQNkVgcPVvzlplyvR1nC7pWmcUiSc0=";
128- })
129-130- # https://trac.sagemath.org/ticket/34460
131- (fetchSageDiff {
132- name = "ipywidgets-8-upgrade.patch";
133- base = "9.7";
134- rev = "2816dbacb342398a23bb3099e20c92c8020ab0fa";
135- sha256 = "sha256-tCOsMxXwPkRg3FJGVvTqDzlWdra78UfDY6nci0Nr9GI=";
136- })
137-138 # https://trac.sagemath.org/ticket/34391
139 (fetchSageDiff {
140 name = "gap-4.12-upgrade.patch";
141- base = "9.8.beta2";
142- rev = "eb8cd42feb58963adba67599bf6e311e03424328";
143- sha256 = "sha256-0dKewOZe2n3PqSdxCJt18FkqwTdrD0VA5MXAMiTW8Tw=";
144 })
145146 # https://trac.sagemath.org/ticket/34701
···149 base = "eb8cd42feb58963adba67599bf6e311e03424328"; # TODO: update when #34391 lands
150 rev = "90acc7f1c13a80b8aa673469a2668feb9cd4207f";
151 sha256 = "sha256-9BhQLFB3wUhiXRQsK9L+I62lSjvTfrqMNi7QUIQvH4U=";
152- })
153-154- # https://trac.sagemath.org/ticket/34537
155- (fetchSageDiff {
156- name = "pari-2.15.1-upgrade.patch";
157- squashed = true;
158- base = "54cd6fe6de52aee5a433e0569e8c370618cb2047"; # 9.8.beta1
159- rev = "1e86aa26790d84bf066eca67f98a60a8aa3d4d3a";
160- sha256 = "sha256-LUgcMqrKXWb72Kxl0n6MV5unLXlQSeG8ncN41F7TRSc=";
161- excludes = ["build/*"
162- "src/sage/geometry/polyhedron/base_number_field.py"
163- "src/sage/geometry/polyhedron/backend_normaliz.py"
164- "src/sage/lfunctions/pari.py"];
165- })
166- # Some files were excluded from the above patch due to
167- # conflicts. The patch below contains rebased versions.
168- ./patches/pari-2.15.1-upgrade-rebased.patch
169-170- # https://trac.sagemath.org/ticket/34668
171- (fetchSageDiff {
172- name = "matplotlib-3.6-upgrade.patch";
173- base = "9.8.beta2";
174- rev = "5501e0de0dca1cff0355326dd42bd8c7e5749568";
175- sha256 = "sha256-ceJkVaecIsZewN8v/3gPQXFbFjv5Akz6zEFg/ToXdek=";
176- })
177-178- # https://trac.sagemath.org/ticket/34693
179- (fetchSageDiff {
180- name = "matplotlib-3.6-docbuilding.patch";
181- base = "9.8.beta4";
182- rev = "64589686c261d33e6b5aff2589bcae8af004bcc6";
183- sha256 = "sha256-j5AMY1TmhP+HBBBYaFZSkABJ5vtwe6iP2LRfGEgSm8Q=";
184- })
185-186- # https://trac.sagemath.org/ticket/34615
187- (fetchSageDiff {
188- name = "sphinx-5.2-upgrade.patch";
189- base = "9.8.beta1";
190- rev = "8f8af65e54d3a9962cfab40f15dc23f4e955b43f";
191- sha256 = "sha256-yhDdyxnXSSkqLcuOPBWSEBc26rk1Od3gLcWW8S2p8bY=";
192 })
193194 # temporarily paper over https://github.com/jupyter-widgets/ipywidgets/issues/3669
···57 );
58in
59stdenv.mkDerivation rec {
60+ version = "9.8";
61 pname = "sage-src";
6263 src = fetchFromGitHub {
64 owner = "sagemath";
65 repo = "sage";
66 rev = version;
67+ sha256 = "sha256-dDbrzJXsOBARYfJz0r7n3LbaoXHnx7Acz6HBa95NV9o=";
68 };
6970 # Patches needed because of particularities of nix or the way this is packaged.
···89 # To help debug the transient error in
90 # https://trac.sagemath.org/ticket/23087 when it next occurs.
91 ./patches/configurationpy-error-verbose.patch
0000000092 ];
9394 # Patches needed because of package updates. We could just pin the versions of
···111 # adapted from https://trac.sagemath.org/ticket/23712#comment:22
112 ./patches/tachyon-renamed-focallength.patch
1130000000000000000114 # https://trac.sagemath.org/ticket/34391
115 (fetchSageDiff {
116 name = "gap-4.12-upgrade.patch";
117+ base = "9.8.beta7";
118+ rev = "dd4a17281adcda74e11f998ef519b6bd0dafb043";
119+ sha256 = "sha256-UQT9DO9xd5hh5RucvUkIm+rggPKu8bc1YaSI6LVYH98=";
120 })
121122 # https://trac.sagemath.org/ticket/34701
···125 base = "eb8cd42feb58963adba67599bf6e311e03424328"; # TODO: update when #34391 lands
126 rev = "90acc7f1c13a80b8aa673469a2668feb9cd4207f";
127 sha256 = "sha256-9BhQLFB3wUhiXRQsK9L+I62lSjvTfrqMNi7QUIQvH4U=";
0000000000000000000000000000000000000000128 })
129130 # temporarily paper over https://github.com/jupyter-widgets/ipywidgets/issues/3669
···1+{ lib
2+, stdenv
3+, fetchurl
4+}:
5+6+stdenv.mkDerivation rec {
7+ pname = "gnu-cim";
8+ version = "5.1";
9+10+ outputs = ["out" "lib" "man" "info"];
11+12+ src = fetchurl {
13+ url = "mirror://gnu/cim/cim-${version}.tar.gz";
14+ hash = "sha256-uQcXtm7EAFA73WnlN+i38+ip0QbDupoIoErlc2mgaak=";
15+ };
16+17+ postPatch = ''
18+ for fname in lib/{simulation,simset}.c; do
19+ substituteInPlace "$fname" \
20+ --replace \
21+ '#include "../../lib/cim.h"' \
22+ '#include "../lib/cim.h"'
23+ done
24+ '';
25+26+ CFLAGS = lib.optionalString stdenv.cc.isClang "-Wno-return-type";
27+28+ doCheck = true;
29+30+ meta = with lib; {
31+ description = "A GNU compiler for the programming language Simula";
32+ longDescription = ''
33+ GNU Cim is a compiler for the programming language Simula.
34+ It offers a class concept, separate compilation with full type checking,
35+ interface to external C routines, an application package for process
36+ simulation and a coroutine concept. Commonly used with the Demos for
37+ discrete event modelling.
38+ '';
39+ homepage = "https://www.gnu.org/software/cim/";
40+ license = licenses.gpl2;
41+ platforms = platforms.all;
42+ badPlatforms = [ "aarch64-darwin" ];
43+ maintainers = with maintainers; [ pbsds ];
44+ };
45+}
+1
pkgs/development/compilers/zig/0.10.nix
···47 cmakeFlags = [
48 # file RPATH_CHANGE could not write new RPATH
49 "-DCMAKE_SKIP_BUILD_RPATH=ON"
050 ];
5152 doCheck = true;
···47 cmakeFlags = [
48 # file RPATH_CHANGE could not write new RPATH
49 "-DCMAKE_SKIP_BUILD_RPATH=ON"
50+ "-DZIG_TARGET_MCPU=baseline"
51 ];
5253 doCheck = true;
···380 docker_compose = throw "'docker_compose' has been renamed to/replaced by 'docker-compose'"; # Converted to throw 2022-02-22
381 docker-compose_2 = throw "'docker-compose_2' has been renamed to 'docker-compose'"; # Added 2022-06-05
382 docker-edge = throw "'docker-edge' has been removed, it was an alias for 'docker'"; # Added 2022-06-05
0383 dolphinEmu = dolphin-emu; # Added 2021-11-10
384 dolphinEmuMaster = dolphin-emu-beta; # Added 2021-11-10
385 dot-http = throw "'dot-http' has been removed: abandoned by upstream. Use hurl instead."; # Added 2023-01-16
···380 docker_compose = throw "'docker_compose' has been renamed to/replaced by 'docker-compose'"; # Converted to throw 2022-02-22
381 docker-compose_2 = throw "'docker-compose_2' has been renamed to 'docker-compose'"; # Added 2022-06-05
382 docker-edge = throw "'docker-edge' has been removed, it was an alias for 'docker'"; # Added 2022-06-05
383+ dolphin-emu-beta = dolphin-emu; # Added 2023-02-11
384 dolphinEmu = dolphin-emu; # Added 2021-11-10
385 dolphinEmuMaster = dolphin-emu-beta; # Added 2021-11-10
386 dot-http = throw "'dot-http' has been removed: abandoned by upstream. Use hurl instead."; # Added 2023-01-16
···156 pycallgraph = throw "pycallgraph has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
157 pychef = throw "pychef has been removed because it's been archived upstream and abandoned since 2017."; # added 2022-11-14
158 pycryptodome-test-vectors = throw "pycryptodome-test-vectors has been removed because it is an internal package to pycryptodome"; # added 2022-05-28
0159 pyialarmxr = pyialarmxr-homeassistant; # added 2022-06-07
160 pyialarmxr-homeassistant = throw "The package was removed together with the component support in home-assistant 2022.7.0"; # added 2022-07-07
161 PyICU = pyicu; # Added 2022-12-22
···156 pycallgraph = throw "pycallgraph has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
157 pychef = throw "pychef has been removed because it's been archived upstream and abandoned since 2017."; # added 2022-11-14
158 pycryptodome-test-vectors = throw "pycryptodome-test-vectors has been removed because it is an internal package to pycryptodome"; # added 2022-05-28
159+ pyflunearyou = pyoutbreaksnearme; # added 2023-02-11
160 pyialarmxr = pyialarmxr-homeassistant; # added 2022-06-07
161 pyialarmxr-homeassistant = throw "The package was removed together with the component support in home-assistant 2022.7.0"; # added 2022-07-07
162 PyICU = pyicu; # Added 2022-12-22