Skip to content

Reduce number of linux release binaries #11083

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

hasufell
Copy link
Member

@hasufell hasufell commented Jul 21, 2025

As described here: #11078

Depends-on: #11072

Copy link
Contributor

mergify bot commented Jul 21, 2025

⚠️ The sha of the head commit of this PR conflicts with #11072. Mergify cannot evaluate rules on this PR. ⚠️

@hasufell hasufell force-pushed the stable-haskell/feature/release-ci-pr2 branch 2 times, most recently from d3e473e to 2b167fa Compare July 23, 2025 07:18
@hasufell hasufell mentioned this pull request Jul 24, 2025
@hasufell hasufell requested a review from geekosaur July 30, 2025 13:46
- glibc (dynamic)
- musl (fully static)

'gmp' and 'zlib' are always statically linked.
@hasufell hasufell force-pushed the stable-haskell/feature/release-ci-pr2 branch from 35aabea to fa10655 Compare August 7, 2025 05:32
@ulysses4ever ulysses4ever linked an issue Aug 7, 2025 that may be closed by this pull request
@mpickering
Copy link
Collaborator

I think this is an interesting direction to investigate but I think that we should let the migration from gitlab to github release CI settle down first before making other major changes to the packaging and distribution story.

It could be worth discussing this issue in the cabal developers meeting or on a cabal proposal if there are differences of opinion about what's best to do. I'm normally just quite conservative when it comes to changing things to do with distribution.

run: |
cd out
tar xf *.${TARBALL_EXT}
ldd cabal | grep --quiet gmp && exit 1
Copy link
Collaborator

Choose a reason for hiding this comment

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

This check could also check that there aren't other libraries dynamically linked just-in-case others slip into the build plan accidentally.

},
{ image: "fedora:36"
{ image: "fedora:37"
Copy link
Collaborator

Choose a reason for hiding this comment

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

These test platform changes seem unrelated.

curl -O -L ${{ env.GMP_URL }}/gmp-${{ env.GMP_VERSION }}.tar.xz
tar xf gmp-${{ env.GMP_VERSION }}.tar.xz
cd gmp-${{ env.GMP_VERSION }}
CFLAGS=-fPIC ./configure --prefix=$HOME/.local/ --disable-shared
Copy link
Collaborator

Choose a reason for hiding this comment

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

AFAIU, static linking of the gmp library is suitable for the distribution of cabal-install since it is possible for an end user to rebuild the relevant cabal-install release (since the source code is distributed) and link against a different version of gmp.

As I think this point is commonly misunderstood, at least linking to a description of this issue would be a good idea I think in case someone else wonders the same thing.

@hasufell
Copy link
Member Author

I think this is an interesting direction to investigate but I think that we should let the migration from gitlab to github release CI settle down first before making other major changes to the packaging and distribution story.

It could be worth discussing this issue in the cabal developers meeting or on a cabal proposal if there are differences of opinion about what's best to do. I'm normally just quite conservative when it comes to changing things to do with distribution.

I don't think I will have capacity to write a cabal proposal or come back to this in a couple of months, so feel free to close this PR as rejected in that case.

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.

Rewrite release CI
3 participants