Build bottle for versionned Formulae in own taps (bottle custom name ?) #3899
Unanswered
Laucans
asked this question in
Writing Formulae/Casks
Replies: 1 comment
-
Hi, What I ended up doing to support bottles for previous versions is working around by dropping the |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello everyone,
First message here
Context
I'm working for LIGO which is a smart contract language for tezos and for mac users we distribute our language through Homebrew.
For now we manage our tap (planned to migrate into homebrew-core when we will be more convenient with homebrew).
Currently if you want to install ligo compiler (after run
brew tap ligolang/ligo https://gitlab.com/ligolang/ligo.git
) you can run :brew install ligolang/ligo/ligo
for the current version of ligobrew install ligolang/ligo/[email protected]
for a specific version of ligo (we are managing 3 latest versions)Theses command build ligo on your machine following install instructions described in formulae
Bottle setup
But time to install is long, that's why we would like to implements bottle. (don't check current bottle setup, it's just false.)
Working on it and I want to use gitlab generic package registry to store our bottles.
Everything works for the current version
brew install ligolang/ligo/ligo
ligo-0.55.0.arm64_monterey.bottle.1.tar.gz
has been built and saved into registryhttps://gitlab.com/api/v4/projects/12294987/packages/generic/ligo_bottle/current/
When I ran
brew install
the bottle is downloaded and installed.(
Little parenthesis here, build the bottle with
brew bottle
generate a tar.gz name with 2 dash after the formulae nameligo--0.55.0.arm64_monterey.bottle.1.tar.gz
but when I ran brew install the downloaded package got only one dashligo-0.55.0.arm64_monterey.bottle.1.tar.gz
Something wrong with my formulae ? There is a way to brew bottle with custom name ? to bypass this issue, I rename the file before upload it into the registry)
Issue
But if I want to do the same for a versioned formulae for example [email protected] the generated package is
[email protected]_monterey.bottle.1.tar.gz
Here it contains
@
char which cannot be uploaded to gitlab generic package repositoryThe name follow a format which is not explicit in doc.
Also when we want to install the version 0.55.0 artifact name is taken from the formula name (with @ converted into %40) instead of the ruby class the artifact downloaded is https://gitlab.com/api/v4/projects/12294987/packages/generic/ligo_bottle/current/ligo%400.55.0-0.55.0.arm64_monterey.bottle.1.tar.gz
Which can't exist on gitlab du to the naming convention.
Is there a way to manage bottle name in formulae through a custom name to avoid registry constraint ?
Thanks
Beta Was this translation helpful? Give feedback.
All reactions