Opened 2 years ago

Closed 18 months ago

#30861 closed enhancement (fixed)

Add more homebrew system package information, including packages without spkg-configure.m4

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-9.4
Component: build: configure Keywords: homebrew, spkg-configure.m4, macos
Cc: Tobias Diez, Samuel Lelièvre, Dima Pasechnik, John Palmieri Merged in:
Authors: Samuel Lelièvre, Matthias Koeppe Reviewers: Matthias Koeppe, Samuel Lelièvre
Report Upstream: N/A Work issues:
Branch: c2b36c7 (Commits, GitHub, GitLab) Commit: c2b36c7b1e4bb1d97ae361c9a14162062d2e8850
Dependencies: #29124 Stopgaps:

Status badges

Description (last modified by Samuel Lelièvre)

Along the same lines as #30859 for Debian, this is for several purposes:

  • test proper isolation of our build (i.e., the presence of unused system packages does not break our build) using tox -e ...-maximal
  • reveal errors such as #30745 (homebrew: Errors when homebrew's ntl, flint, or ecl are installed in /usr/local), #31132
  • test sagelib without Sage-the-distribution (similar to #28745/#30845 for conda)
  • prepare for tickets that will add spkg-configure.m4

(see also #29146)

(from #30371)

Related:

  • #27330: Meta-ticket: Use all system packages we can
  • #30504: Add MacPorts package information

This ticket does not cover Homebrew packages available via taps.

Interested users can install GAP, Macaulay2 and Polymake as follows:

$ brew tap gap-system/gap
$ brew install gap

$ brew tap macaulay2/tap
$ brew install macaulay2

$ brew tap apaffenholz/polymake
$ brew install polymake

Change History (24)

comment:1 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:2 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:3 Changed 2 years ago by Samuel Lelièvre

Description: modified (diff)
Keywords: homebrew spkg-configure.m4 added

comment:4 Changed 2 years ago by Samuel Lelièvre

Description: modified (diff)
Keywords: macos added

comment:5 Changed 2 years ago by Matthias Köppe

Dependencies: #30865
Description: modified (diff)

comment:6 Changed 2 years ago by Matthias Köppe

Dependencies: #30865#30865, #30951
Description: modified (diff)

comment:7 Changed 2 years ago by Matthias Köppe

Dependencies: #30865, #30951#30865, #30951, #30745

comment:8 Changed 2 years ago by Matthias Köppe

Dependencies: #30865, #30951, #30745#30865, #30951, #30745, #29124
Description: modified (diff)

The preparations are done in #29124. Now the system packages can be added

comment:9 Changed 23 months ago by Matthias Köppe

Dependencies: #30865, #30951, #30745, #29124#29124
Description: modified (diff)

comment:10 Changed 21 months ago by Samuel Lelièvre

Authors: Samuel Lelièvre
Branch: public/30861
Commit: dc64c62677bcaaad075f6def6bfbdd1ee13e05cb
Description: modified (diff)
Status: newneeds_review

Ready for review.


New commits:

dc64c6230861: Add Homebrew package info

comment:11 Changed 21 months ago by Samuel Lelièvre

Also available from Macaulay2 taps: fflas-ffpack, frobby, gfan, givaro.

However they break building Sage, see

Also available from GAP tap: gap

comment:12 Changed 21 months ago by Samuel Lelièvre

Description: modified (diff)

comment:13 Changed 21 months ago by Matthias Köppe

We don't really have a mechanism yet to ask users to use a tap - I would need that for polymake too - #31527

comment:14 Changed 21 months ago by Samuel Lelièvre

Description: modified (diff)

comment:15 Changed 21 months ago by Samuel Lelièvre

The homebrew-maximal test environment could install extra packages from taps anyway.

comment:16 in reply to:  15 Changed 21 months ago by Matthias Köppe

Replying to slelievre:

The homebrew-maximal test environment could install extra packages from taps anyway.

Well, it's easy to implement in build/bin/sage-print-system-package-command - in order to give both advice for users and set up the -maximal environment. I think I'll implement this in the polymake ticket.

comment:17 Changed 21 months ago by Matthias Köppe

The mactex bottle is giving me an error when I do tox -e local-homebrew-macos-maximal -- config.status.

==> Downloading http://mirror.ctan.org/systems/mac/mactex/mactex-20200407.pkg
==> Downloading from https://ctan.math.illinois.edu/systems/mac/mactex/mactex-20200407.pkg
######################################################################## 100.0%
==> Installing dependencies: jpeg, libtiff, ghostscript
==> Downloading https://homebrew.bintray.com/bottles/jpeg-9d.catalina.bottle.tar.gz
Already downloaded: /Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/.tox/local-homebrew-macos-maximal/Library/Caches/Homebrew/downloads/9ed6b08679bb12bb63055c727e5cdcb7f0813e6a89a66ee35a2b2b83d1c30ac9--jpeg-9d.catalina.bottle.tar.gz
==> Installing jpeg
Error: No such file or directory @ dir_chdir - /Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/.tox/local-homebrew-macos-maximal/homebrew/Cellar

Let's remove build/pkgs/texlive/distros/homebrew.txt and revisit this in #31529.

comment:18 Changed 21 months ago by git

Commit: dc64c62677bcaaad075f6def6bfbdd1ee13e05cb72d6b13584166262fd93d6da9caedc349e0d6bd5

Branch pushed to git repo; I updated commit sha1. New commits:

4eb1ba7build/pkgs/texlive/distros/homebrew.txt: Remove to avoid installation errors
72d6b13build/pkgs/singular/distros/homebrew.txt: Disable to avoid installation errors

comment:19 Changed 21 months ago by Matthias Köppe

With these changes, it goes through and reports:

    notice: the following SPKGs did not find equivalent system packages:

        _recommended brial cddlib cliquer coxeter3 eclib ecm fflas_ffpack flintqs gf2x gfan giac givaro gp2c iml lcalc libbraiding libhomfly libsemigroups lrcalc m4ri m4rie palp pari pari_elldata pari_galdata pari_galpol pari_nftables pari_seadata pari_seadata_small perl_cpan_polymake_prereq perl_term_readline_gnu planarity rw symmetrica sympow tachyon zn_poly
        
checking for the package system in use... homebrew
configure:

    hint: installing the following system packages, if not
    already present, is recommended and may avoid having to
    build them (though some may have to be built anyway):

      $ brew install ffmpeg imagemagick texinfo cddlib
    

comment:20 Changed 21 months ago by git

Commit: 72d6b13584166262fd93d6da9caedc349e0d6bd5c2b36c7b1e4bb1d97ae361c9a14162062d2e8850

Branch pushed to git repo; I updated commit sha1. New commits:

c2b36c7build/pkgs/cddlib/distros/homebrew.txt: Disable cddlib for now (waiting for #29413)

comment:21 Changed 21 months ago by Matthias Köppe

Reviewers: Matthias Koeppe
Status: needs_reviewpositive_review

comment:22 Changed 21 months ago by Samuel Lelièvre

Authors: Samuel LelièvreSamuel Lelièvre, Matthias Koeppe
Reviewers: Matthias KoeppeMatthias Koeppe, Samuel Lelièvre

Thanks!

comment:23 Changed 20 months ago by Matthias Köppe

Milestone: sage-9.3sage-9.4

comment:24 Changed 18 months ago by Volker Braun

Branch: public/30861c2b36c7b1e4bb1d97ae361c9a14162062d2e8850
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.