FDH2 / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.35k stars 72 forks source link

Add a Homebrew Formula and WinGet #184

Closed iMonZ closed 1 year ago

iMonZ commented 1 year ago

Add Support for the Package Managing Systems:

macOS: https://docs.brew.sh/Formula-Cookbook https://docs.brew.sh/Adding-Software-to-Homebrew Windows: https://learn.microsoft.com/en-us/windows/package-manager/package/

fduncanh commented 1 year ago

Feel free to provide a PR for this! (but providing precompiled binary packages here would raise issues about GPL when linking to parts of Windows or MacOS that happens when one compiles, so that has been avoided here so far by only distributing uncompiled code from this site, that users or distributions can compile.)

iMonZ commented 1 year ago

Feel free to provide a PR for this! (but providing precompiled binary packages here would raise issues about GPL when linking to parts of Windows or MacOS that happens when one compiles, so that has been avoided here so far by only distributing uncompiled code from this site, that users or distributions can compile.)

So for macOS you don’t provide the binary. You just create the formula for how to compile it. And the file is going to be compiled on the end user device.

fduncanh commented 1 year ago

formula would be just be a translation into the right format of something like

brew install pkgconfig cmake libplist opensll
brew install gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav
export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0     (maybe not needed)
(get/unpack source)
cd UxPlay
cmake . 
make 
sudo make install 
(some kind of cleanup/registration with homebrew  for uninstallation, etc.)
fduncanh commented 1 year ago

If you can make a start on a home brew formula, I will understand what its trying to do and tweak it or give guidance.

fduncanh commented 1 year ago

@iMonZ I created and tested working homebrew formula, and tested it on macOS Catalina (which Homebrew doesn't like anymore because its too old)

* GitHub fork (not canonical repository)

whether the Homebrew maintainers could/would grant an exception is unclear.

so it's up to you to get the formula into Homebrew. Here it is uxplay.rb.txt

class Uxplay < Formula
  desc "UxPlay: an Airplay-Mirror and AirPlay-Audio server for iOS/iPadOS/macOS clients"
  homepage "https://github.com/FDH2/UxPlay"
  url "https://github.com/FDH2/UxPlay/archive/refs/tags/v1.63.2.tar.gz"
  sha256 "bc453ca96b16605e1b921d1d8c75f06d3f94e137a24dfbf692bd0d6096796e65"
  license "GPL-3.0-or-later"

  depends_on "cmake" => :build
  depends_on "pkg-config" => :build
  depends_on "libplist" 
  depends_on "openssl@1.1"
  depends_on "gstreamer"
  depends_on "gst-plugins-base"
  depends_on "gst-plugins-good"
  depends_on "gst-plugins-bad" 
  depends_on "gst-libav" 

  def install
    mkdir "build" do
      system "cmake", "..", *std_cmake_args
      system "cmake", "--build", "."
      system "cmake", "--install", "."
    end
  end

  def post_install
    ohai "*** You may need to set GStreamer's GST_PLUGIN_PATH in your environment" 
    ohai "*** For Homebrew GStreamer installations set it as:"
    ohai "    GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0" 
  end

  test do
    system "#{bin}/uxplay", "-v"
  end
end
iMonZ commented 1 year ago

Thanks!