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

Release binary version of ashuffle on OSX #35

Open
joshkunz opened this issue Sep 25, 2019 · 7 comments
Open

Release binary version of ashuffle on OSX #35

joshkunz opened this issue Sep 25, 2019 · 7 comments

Comments

@joshkunz
Copy link
Owner

Right now, the only way for most users to get ashuffle is by compiling the software from source. We should make this easier by also releasing binary distributions. Though, likely only targeting a subset of platforms.

@joshkunz
Copy link
Owner Author

Release v2.2.2 adds an x86_64 linux binary. I think it would also be good to get ARM releases for the major Pi CPUs, as well as an OSX release.

@joshkunz joshkunz self-assigned this Apr 18, 2020
@joshkunz
Copy link
Owner Author

Release v2.3.1 also adds a linux AArch64 release. I think I'm going to skip the OSX release, since I don't have access to an OSX machine to develop on.

@joshkunz joshkunz changed the title Release binary versions of ashuffle Release binary version of ashuffle on OSX Apr 25, 2020
@joshkunz joshkunz removed their assignment Apr 25, 2020
@shastry
Copy link

shastry commented Jun 13, 2020

Probably better to get it into homebrew.

Meanwhile, here's a homebrew formula:

class Ashuffle < Formula
  desc "Automatic library-wide shuffle for mpd."
  homepage "https://github.com/joshkunz/ashuffle/"
  url "https://github.com/joshkunz/ashuffle/archive/v3.5.0.tar.gz"
  sha256 "967793bf62a07dfdbc52dc919b1c36c5731aef082536a26df92412d32018c785"
  head "https://github.com/joshkunz/ashuffle.git"

  depends_on "cmake" => :build
  depends_on "meson" => :build
  depends_on "ninja" => :build
  depends_on "libmpdclient"

  resource "absl" do
    url "https://github.com/abseil/abseil-cpp/archive/20200225.2.tar.gz"
    sha256 "f41868f7a938605c92936230081175d1eae87f6ea2c248f41077c8f88316f111"
  end

  resource "gtest" do
    url "https://github.com/google/googletest/archive/release-1.8.1.tar.gz"
    sha256 "9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
  end

  def install
    (buildpath/"subprojects/absl").install resource("absl")
    (buildpath/"subprojects/googletest").install resource("gtest")
    mkdir "build" do
      system "meson", *std_meson_args, ".."
      system "ninja", "-v"
      system "ninja", "install", "-v"
    end
  end
end

@joshkunz
Copy link
Owner Author

@shastry that is probably covered under the umbrella issue #36.

That said, most package management ecosystems, including homebrew, consider it poor taste for devs to package their own software. Quoting from https://docs.brew.sh/Acceptable-Formulae:

We frown on authors submitting their own work unless it is very popular.

I also don't currently own a functioning Mac, so maintaining a brew recipe would be pretty painful.

I would be absolutely thrilled if you wanted to package it for homebrew. The docs for how to upstream a recipe can be found here: https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request. If you decide to package it, let me know so I can list it in the installation instructions 😄

As for this issue, I will still leave this issue open to track getting an OSX binary build.

@Hamuko
Copy link
Contributor

Hamuko commented Apr 2, 2022

I made my own Homebrew tap, Hamuko/homebrew-mpd, since I wanted to install ashuffle through Homebrew, but I can't really be arsed to add it to Homebrew core. It should even have proper ready-built binaries, since that's now a thing. Binaries are x86 only though as GitHub doesn't seem to have M1 Mac runners. If someone wants to try it, you can just run brew install hamuko/mpd/ashuffle.

I think the only thing that I'm not really happy about it as of now is that I can't realistically add a service, since ashuffle can only be configured by passing arguments to the command, and I don't think there is a good mechanism for that using Homebrew services. I'm currently using multiple tweaks myself, so if I wrote a service file for my own liking, it probably wouldn't be to anyone else's. Otherwise the installation and running process would probably go something like this:

$ brew install hamuko/mpd/ashuffle
[...snip...]
/usr/local/Cellar/ashuffle/3.13.3: 10 files, 1.8MB
$ vi /path/to/ashuffle.conf  # Customize ashuffle behaviour.
$ brew services start ashuffle  # ashuffle now runs as a daemon.

@joshkunz
Copy link
Owner Author

joshkunz commented Apr 3, 2022

I've added a link to the readme. Thanks for sharing!

@l2dy
Copy link
Contributor

l2dy commented Apr 30, 2022

If you have MacPorts installed, you can install ashuffle with sudo port install ashuffle.

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

No branches or pull requests

4 participants