Sage update

Montgomery-Smith, Stephen stephen at
Thu Jan 30 20:05:58 UTC 2014

On 01/30/2014 11:03 AM, Daniel Smith wrote:
> I also tried rebuilding it and got the same error that Mitja saw.
> I think the issue may be that the patches (for dealing with the
> freebsd1* vs freebsd1.*) aren't getting properly applied. I set
> SAGE_KEEP_BUILT_SPKS=yes before trying to build, and when I looked at
> the build dir for the mpir-spkg, it looks like the configure.patch file
> had the patches reversed. That is, in the file
> sage-6.0/build/pkgs/mpir/patches/configure.patch
> There are lines that read
> -freebsd1.*)
> +freebsd1*)
> The result, I think, is that patch believes the freebsd1.* lines, which
> are the ones we want, are the "old" values, hence the mpir configure
> script continues to act as if it were building on FreeBSD-1.x
> I'm not entirely sure how
> math/sage/files/patch-build_pkgs_mpir_patches_configure.patch
> was generated, but it looks to me like a couple of the diffs in there
> had newer files as their first argument, e.g.,
> +diff -ur src/aclocal.m4 b/aclocal.m4
> +--- src/aclocal.m4     2014-01-29 21:06:09.000000000 +0000
> ++++ b/aclocal.m4       2012-10-03 20:07:32.000000000 +0000
> +@@ -2421,7 +2421,7 @@
> +   shlibpath_var=LD_LIBRARY_PATH
> +   ;;
> + 
> +-freebsd1.*)
> ++freebsd1*)
> ...
> So I think the situation could be fixed by just changing the command
> around (the above was generated by
> diff -ur src/aclocal.m4 b/aclocal.m4
> so instead just take the output of
> diff -ur b/aclocal.m4 src/aclocal.m4
> and put the patch-build_pkgs_mpir_patches_configure.patch back together
> with that output, instead of what the first command generated).
> At least, that's what I'm guessing is going on. I hope my explanation
> was clear enough.
> Thanks!

It looks like Daniel found the error.  I have created a new patch, and
just committed it.

Let me explain where it comes from.  I have added some code to sage,
which is in patch-src_bin_sage-spkg, which modified the configure files
to make them FreeBSD-10 friendly.  I took this code from

But in sages version of mpir, there is a patch in
work/sage-6.0/build/pkgs/mpir/patches called configure.patch, which
after applying the changes to configure, no longer applies cleanly.

So what I did is this.  I untarred two copies of
work/sage-6.0/upstream/mpir-2.6.0.tar.bz2.  I renamed one directory to
src, and the other to b.

I patched b with configure.patch.  I then applied the script from
patch-src_bin_sage-spkg to both these directories.  I erased the *.orig
files in b.  I then did "diff -ur src b" to create a new copy of
configure.patch.  I then did "diff -u" between the old copy of
configure.patch and the new copy, putting it into
patch-build_pkgs_mpir_patches_configure.patch.  I touched up the first
two lines of the patch-build_pkgs_mpir_patches_configure.patch to get
the path names right, and put this into files.

This is what I meant to do previously, but obviously I made an error
somewhere in the process.

More information about the freebsd-ports mailing list