Comments (16)
+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.zipHere's the "releases" page:
https://github.com/jalessio/MenuMeters/releasesAnd 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@60b8e52This 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.
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.
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.
@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.
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.
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.
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.
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.
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.
Ah, thanks for explaining it.
from menumeters.
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.
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.
+1. Thanks!
from menumeters.
+1
from menumeters.
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.
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)
- M1 MAX: no cpu temp sensors
- Feature Request: changing font color on CPU temp HOT 1
- Memory Menu Meter not showing on MacBook Air M2 HOT 2
- Add automatic color mode change HOT 1
- Feature Request: Memory as a percentage
- Odd extra space next to CPU usage percentage
- CPU usage menu not showing and blocking the other menus when activated HOT 1
- 2.1.3 fails on Macbook Pro M2 Pro (new install) HOT 1
- an option of disabling launch at login, please
- Show CPU throttling due to missing or damaged battery
- Which is the last version reasonably supporting 10.5β10.6?
- No download speed with external Wifi Adapter
- [Feature Request] Select Monitor for MenuMeters HOT 1
- [Feature Request] Dual Unit Display - Show Network Speed in Bits and Traffic Totals in Bytes
- 2.1.6.1 Can't show down flow on MacOSX 14.0 (23A344) HOT 5
- Issue with Download Throughput on Sonoma HOT 5
- [Feature Request] Custom setting to show temps of various components HOT 1
- How to adjust the display width of elements.
- Public Thank You!
- Wrong label: Wi-Fi (en0) - Ethernet 54 Mbps (similar to #155) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from menumeters.