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

Homebrew packaging #24

Closed
blippy opened this issue Jan 26, 2016 · 19 comments
Closed

Homebrew packaging #24

blippy opened this issue Jan 26, 2016 · 19 comments

Comments

@blippy
Copy link

blippy commented Jan 26, 2016

In thread #22 (comment)

@zeekman said: "@blippy I agree, but I am just talking about what is needed for Homebrew to accept the "formula". It needs to have a test do block that will compile code, link it against diatomite-fortran and run it to verify it all went well... I'll dig in the src/tests directory, and find something there."

and: "@milancurcic and @blippy: I've got the Homebrew formula all set, including the test do block etc.
All I'm waiting on now is for @milancurcic to mint a release that includes configure.sh in the tarball.
@blippy also, one more question for you: Will pkg-config always be a build dependency, or just when configure.sh is missing? (Right now I am testing the formula installing the HEAD (i.e. github master) and listing automake and autoconf and pkg-config as build dependencies, but I wonder if I'll need pkg-config as a normal build dep"

@blippy blippy mentioned this issue Jan 26, 2016
Merged
@zbeekman
Copy link
Collaborator

In thread #22 (comment)

@zeekman said: "@blippy I agree, but I am just talking about what is needed for Homebrew to accept the "formula". It needs to have a test do block that will compile code, link it against diatomite-fortran and run it to verify it all went well... I'll dig in the src/tests directory, and find something there."

diatomite diatomite <-- thanks autocorrect....

BTW, I have this completely solved now

and: "@milancurcic and @blippy: I've got the Homebrew formula all set, including the test do block etc.
All I'm waiting on now is for @milancurcic to mint a release that includes configure.sh in the tarball.

Yes, I could add autoconf, automake and pkg-config as build deps all the time, but packaging configure.sh in the release tarball would be preferable.

@blippy also, one more question for you: Will pkg-config always be a build dependency, or just when configure.sh is missing? (Right now I am testing the formula installing the HEAD (i.e. github master) and listing automake and autoconf and pkg-config as build dependencies, but I wonder if I'll need pkg-config as a normal build dep"

I still am curious about this... I guess I could try to test it myself. Any thoughts about whether after autoreconf -i you uninstall (or move out of your path etc.) pkg-config if datetime-fortran will compile and install?

@zbeekman
Copy link
Collaborator

I would appreciate it if you guys could test if pkg-config is a build dep, in the event configure.sh is present. My testing seems to indicate the answer is no.

If this is true, I'm just waiting on a new release including configure.sh in the tarball. (Please also include the tag/version in the tarball that gets uploaded as a release asset.)

Here is the latest gist: https://gist.github.com/0fd245c175925b9d6bd8

@blippy
Copy link
Author

blippy commented Jan 26, 2016

@zbeekman When we fix the archiving issues, autoconf and automake should be unneeded by packagers. configure will not be required.

I'm not sure about pkg-config. I /think/ that it should not be needed.

@zbeekman
Copy link
Collaborator

yes, right now, autoconf, automake and pkg-config are listed as build deps when installing from github/master (HEAD in homebrew speak) otherwise they are not needed if installing from a versioned/packaged release.

@milancurcic
Copy link
Member

@zbeekman @blippy Guys, thank you for getting all these balls rolling. I'm trying to meet some deadlines so Izaak I promise I will do that release/asset thing tomorrow at the latest.

@zbeekman
Copy link
Collaborator

yes, sorry, take your time, I'm not trying to rush you. I should be attending to some other matters now too.

@blippy
Copy link
Author

blippy commented Jan 26, 2016

@milancurcic No rush. I need a little time to think how we're going to get the packaging sorted.

@blippy
Copy link
Author

blippy commented Jan 27, 2016

I'm glad that this project is proving popular on Homebrew, even though I don't own a Mac (I used to, though). Gfortran's date/time standard facilities seems a bit lacking, so by rights, this project should be useful to a lot of people :)

@szaghi
Copy link
Contributor

szaghi commented Jan 27, 2016

datetime-fortran rocks! 💪

@blippy
Copy link
Author

blippy commented Jan 27, 2016

@zbeekman said "I still am curious about this... I guess I could try to test it myself. Any thoughts about whether after autoreconf -i you uninstall (or move out of your path etc.) pkg-config if datetime-fortran will compile and install?"

I'm not sure. In Arch Linux, for example, pkg-config is a core package, so uninstalling it isn't an option for me.

@blippy
Copy link
Author

blippy commented Jan 27, 2016

@zbeekman Actually, it may be possible to make pkg-config an optional part of the buid process. Perhaps it is best to wait until @milancurcic does another release which includes "configure", and then we can see what works and what doesn't, and take it from there.

@zbeekman
Copy link
Collaborator

yup, AFAICT we're all set regarding pkg-config. I did brew install --verbose --interactive datetime-fortran and then from the interactive shell after autoreconf -ivf I did brew unlink pkg-configand continued on with ./configure.sh --prefix=... && make install and everything seems to work swimmingly. This suggests that pkg-config is not a build dep when configure.sh is packaged with the tarball.

@milancurcic
Copy link
Member

@zbeekman I finally got around to doing this, see here:

https://github.com/milancurcic/datetime-fortran/releases/tag/v1.4.1

Are we good to go with homebrew packaging?

Thanks a lot!!

@zbeekman
Copy link
Collaborator

probably, I've been swamped, and am using a loaner laptop from work at the moment, so I've fallen behind on a lot of stuff... I'll try to see where things stand RE Homebrew later tonight or tomorrow.

@zbeekman
Copy link
Collaborator

(My personal laptop had to be sent in for a replacement logic board...) :-(

@zbeekman
Copy link
Collaborator

one last comment: It would be great to get #25 sorted out too, before submitting the home-brew formula. I can take a stab at it when I have time if @blippy doesn't beat me to it.

@zbeekman
Copy link
Collaborator

PR submitted

@zbeekman
Copy link
Collaborator

zbeekman commented Feb 1, 2016

PR accepted 🎉 🎈

@zbeekman zbeekman closed this as completed Feb 1, 2016
@zbeekman
Copy link
Collaborator

zbeekman commented Feb 1, 2016

If you want to install via Homebrew:

  1. Get Homebrew
  2. $ brew update
  3. $ brew install datetime-fortran

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

No branches or pull requests

4 participants