Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add emacs+deterministic_build+link_time_optimization+mailutils+json+krb5 variants #29088

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

cosmicexplorer
Copy link
Contributor

@cosmicexplorer cosmicexplorer commented Feb 19, 2022

Problem

There are some features exposed by emacs's ./configure script which aren't currently threaded through to spack's variants for the emacs package, including link-time optimization.

Solution

  • Add appropriate dependencies and command line arguments for +mailutils+json+krb5 variants.
  • Add command line arguments to enable LTO for the +link_time_optimization variant.
  • Enable a reproducible build with +deterministic_build.

Result

This command now succeeds:

$ spack install emacs@master+X+tls+native+lto+mailutils+krb5+json

@spackbot-app
Copy link

spackbot-app bot commented Feb 19, 2022

Hi @cosmicexplorer! I noticed that the following package(s) don't yet have maintainers:

  • emacs
  • font-util
  • gtkplus
  • krb5

Are you interested in adopting any of these package(s)? If so, simply add the following to the package class:

    maintainers = ['cosmicexplorer']

If not, could you contact the developers of this package and see if they are interested? You can quickly see who has worked on a package with spack blame:

$ spack blame emacs

Thank you for your help! Please don't add maintainers without their consent.

You don't have to be a Spack expert or package developer in order to be a "maintainer," it just gives us a list of users willing to review PRs or debug issues relating to this package. A package can have multiple maintainers; just add a list of GitHub handles of anyone who wants to volunteer.

@cosmicexplorer
Copy link
Contributor Author

Done!

@cosmicexplorer cosmicexplorer force-pushed the emacs-lto branch 2 times, most recently from e6d175e to d807614 Compare April 16, 2022 13:14
@cosmicexplorer cosmicexplorer force-pushed the emacs-lto branch 2 times, most recently from b560e3e to 191d514 Compare May 17, 2022 16:38
@cosmicexplorer cosmicexplorer force-pushed the emacs-lto branch 3 times, most recently from 21519c8 to 48ab25a Compare June 25, 2022 09:28
@cosmicexplorer cosmicexplorer changed the title add emacs+profiling+deterministic-build+lto+mailutils+json+krb5 variants add emacs+profiling+deterministic-build+link-time-optimization+mailutils+json+krb5 variants Jun 25, 2022
Copy link
Member

@becker33 becker33 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incomplete review because I realized it's Saturday night and I shouldn't be reviewing code.

var/spack/repos/builtin/packages/emacs/package.py Outdated Show resolved Hide resolved
@cosmicexplorer cosmicexplorer force-pushed the emacs-lto branch 2 times, most recently from 1835ba4 to 2ce8dae Compare June 28, 2022 05:39
@haampie
Copy link
Member

haampie commented Jun 28, 2022

Can we do underscores instead of - for variants?

@cosmicexplorer cosmicexplorer changed the title add emacs+profiling+deterministic-build+link-time-optimization+mailutils+json+krb5 variants add emacs+profiling+deterministic_build+link_time_optimization+mailutils+json+krb5 variants Sep 8, 2022
@cosmicexplorer
Copy link
Contributor Author

Gitlab CI failures appear to be spurious:

fatal: unable to access 'https://gitlab.spack.io/spack/spack.git/': Failed to connect to gitlab.spack.io port 443 after 1 ms: Host is unreachable

@cosmicexplorer cosmicexplorer changed the title add emacs+profiling+deterministic_build+link_time_optimization+mailutils+json+krb5 variants add emacs+deterministic_build+link_time_optimization+mailutils+json+krb5 variants Sep 9, 2022
@cosmicexplorer
Copy link
Contributor Author

cosmicexplorer commented Sep 9, 2022

As it turns out, the alpine linux workaround is not necessary unless you've installed a deprecated package (see discussion here), so I've elected to remove it here. Since I've added myself as maintainer, anyone trying to install emacs using a broken backtrace() method should be able to contact me.

@cosmicexplorer
Copy link
Contributor Author

As before, gitlab CI failures are spurious.

mailutils:
- make mailutils pass by linking against libtinfo
- add m4 build dependency for mailutils

krb5:
- make krb5 pass by linking against libintl

X:
- the X toolkit variant should only be active if +X is on

acl:
- add acl

imagemagick:
- add imagemagick

all:
- switch manual arg generation with self.with_or_without()/etc

make emacs git use the https endpoint

make gtk+ build on gcc@10

add self to maintainers for several lonely packages

fix LTO config arg

fix segfault on alpine

undo alpine linux hack

fix style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants