Ask Your Question

Revision history [back]

libbraiding is a C++ library that you can fetch at https://github.com/miguelmarco/libbraiding so you need to know some C++ to be able to modify it.

Let me assume that you installed Sage from source (see the doc), and suggest the following easy "hacky" way.

You can see the tarball of the library as SAGE_ROOT/upstream/libbraiding-1.0.tar.gz where SAGE_ROOT is the directory where you installed Sage.

You can unpack that archive somewhere (with the command tar xvf libbraiding-1.0.tar.gz that creates a libbraiding-1.0 directory with all the source code) and start modify the code. Once you are happy, you can repack a tarball with another version : tar czvf libbraiding-2.0.tar.gz DIRECTORY where DIRECTORY is the unpacked and modified directory (it is currently named libbraiding-1.0).

Now you can put this alternative archive back into the SAGE_ROOT/upstream directory, it has the name libbraiding-2.0.tar.gz.

You should tell Sage to use that 2.0 version by modifying the file SAGE_ROOT/build/pkgs/libbraiding/package-version.txt and replace 1.0.p0 with 2.0.

Now, you have to tell Sage to recompute the hashsums of the tarball, by running the command sage --package fix-checksum. This will update the file SAGE_ROOT/build/pkgs/libbraiding/checksums.ini

Now, you can rebuild the package with the command: sage -f libbraiding

I let you guess how to go back to version 1.0p0 once you are done.