Coder Social home page Coder Social logo

Comments (16)

onpaws avatar onpaws commented on May 28, 2024

+1 MenuMeters on Homebrew

Sent from my Banana Phone

On Oct 7, 2015, at 14:30, Jamie Alessio [email protected] wrote:

For more reliable and persistent hosting you might want to consider hosting the binaries using Github's "Releases" feature. This is a very common practice for packages distributed via homebrew-cask:

Here's a set of examples from the files found in https://github.com/caskroom/homebrew-cask/tree/master/Casks

grep url * | grep github | head
aether.rb: url "https://github.com/nehbit/aether-public/releases/download/v#{version}-OSX/Aether.#{version}.dmg"
aluxian-messenger.rb: url "https://github.com/Aluxian/Facebook-Messenger-Desktop/releases/download/v#{version}/Messenger.dmg"
androidtool.rb: url "https://github.com/mortenjust/androidtool-mac/releases/download/#{version}/AndroidTool.zip"
angry-ip-scanner.rb: url "https://github.com/angryziber/ipscan/releases/download/#{version}/ipscan-mac-#{version}.zip"
anybar.rb: url "https://github.com/tonsky/AnyBar/releases/download/#{version}/AnyBar-#{version}.zip"
apns-pusher.rb: url "https://github.com/KnuffApp/APNS-Pusher/releases/download/v#{version}/APNS.Pusher.app.zip"
appserver.rb: url "https://github.com/appserver-io/appserver/releases/download/#{version.sub(/-.*/, '')}/appserver-dist_#{version}_x86_64.pkg"
aptanastudio.rb: url "https://github.com/aptana/studio3/releases/download/v#{version}/Aptana_Studio_3_Setup_#{version}.dmg"
aquamacs.rb: url "https://github.com/davidswelt/aquamacs-emacs/releases/download/Aquamacs-#{version}-final/Aquamacs-Emacs-#{version}final.tar.bz2"
aquamacs.rb: url "https://github.com/davidswelt/aquamacs-emacs/releases/download/Aquamacs-#{version}/Aquamacs-Emacs-#{version}.dmg"
I created an example release in a fork of this repo using the 1.9.1 tag and uploaded the zip file found here which results in the same file available here:
https://github.com/jalessio/MenuMeters/releases/download/1.9.1/MenuMeters_1.9.1.zip

Here's the "releases" page:
https://github.com/jalessio/MenuMeters/releases

And here's a proposed corresponding change to homebrew-cask to adjust to the new URL (just remove the jalessio part to switch it over to your repo):
jalessio/homebrew-cask@60b8e52

This is not essential, but removes the need to host the file yourself and provides a long-lived location for all versions of the files. Thanks!

β€”
Reply to this email directly or view it on GitHub.

from menumeters.

jalessio avatar jalessio commented on May 28, 2024

FYI - @onpaws @yujitach's version of MenuMeters is already available via homebrew:

brew update
brew cask install yujitach-menumeters

This is just a proposal to change the location of the binaries homebrew refers to.

from menumeters.

yujitach avatar yujitach commented on May 28, 2024

Thanks for the suggestion. I live in stone age and am still using macports, and not familiar with homebrew I have to shamefully admit :p Where can I learn the basics of homebrew, in particular the code-sign guidelines for the released binaries?

As for the server, it's the website of the university I permanently work on, so it should be pretty long-lived (in fact it's slightly older than GitHub itself ...)

from menumeters.

jalessio avatar jalessio commented on May 28, 2024

@yujitach what do you mean by the "code-sign guidelines for the released binaries"? Are you referring to the OS X code signing described here? If so, I don't think that is required for Homebrew Cask installation. Your current binaries are working just fine via Homebrew Cask.

In any case, if you'd prefer to host the binaries on your university's server that's all fine and good. I was just suggesting a free and zero maintenance option but sounds like you might already have those two attributes taken care of πŸ˜„

from menumeters.

yujitach avatar yujitach commented on May 28, 2024

Well the binary on the other website is signed by my paid-developer certificate so that it's accepted by anybody's mac. But the certificate and the signing process is intentionally left out from the public code on the github. Anyway, it's a good time for me to learn how to use homebrew, thanks for the suggestion.

from menumeters.

jalessio avatar jalessio commented on May 28, 2024

Ah, that part was "magic" to me. You can just take your binary and upload/attach it to the github release using github's web UI. That's all I did. Nothing magic from me.

from menumeters.

ranek avatar ranek commented on May 28, 2024

It might help things crystallize by being clear about the distinction between the core Homebrew project and Homebrew Cask. Homebrew helps download and build packages from source, and as you suspect, these packages (or their precompiled "bottles") are not typically code signed.

Homebrew Cask, on the other hand, automates the action of downloading official binaries of Mac apps, and moving them to an "installed" destination (in this case, ~/Library/PreferencePanes). As you'll see in the cask, there is no reference to your source code at all; only a link to the download file.

You can, of course, host your compiled and signed binaries anywhere you like. GitHub's Releases just happen to have some nice properties: they're tied to a tag in Git that clearly marks the source they're derived from, served over TLS, accompanied by release notes, and hosted on infrastructure that may offer higher bandwidth and availability than your university's server.

from menumeters.

yujitach avatar yujitach commented on May 28, 2024

Thank you for the clarifications, @ranek. Let me ask one more: as my El Capitan port is hosted on GitHub, isn't it more reasonable to put it to as an entry in Homebrew, instead of as an entry in Homebrew-cask?

from menumeters.

ranek avatar ranek commented on May 28, 2024

That's a great question. Homebrew's policy is to focus on command line tools and libraries. See Acceptable Formulae for more details.

from menumeters.

yujitach avatar yujitach commented on May 28, 2024

Ah, thanks for explaining it.

from menumeters.

ronubi avatar ronubi commented on May 28, 2024

Thanks for the brew-cask command line, @jalessio – work great, and seems to have picked up my old MenuMeters prefs.

(I was just about to shell out $18 for iStatMenu.)

from menumeters.

karlhorky avatar karlhorky commented on May 28, 2024

GitHub's Releases just happen to have some nice properties ... served over TLS

+1 for hosting the binaries on GitHub Releases. It doesn't appear that member.ipmu.jp offers the download over https.

from menumeters.

pydolan avatar pydolan commented on May 28, 2024

+1. Thanks!

from menumeters.

BenjaminHCCarr avatar BenjaminHCCarr commented on May 28, 2024

+1

from menumeters.

HongPong avatar HongPong commented on May 28, 2024

I would just add this key homebrew cask info to the repo description so it's right there. Thanks a ton for this!

from menumeters.

yujitach avatar yujitach commented on May 28, 2024

I decided to put the releases on the GitHub too: https://github.com/yujitach/MenuMeters/releases . Thank you for complaining to me.

from menumeters.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.