# SPDX-FileCopyrightText: Copyright 2026 Daniel Hast # # SPDX-License-Identifier: Apache-2.0 # The homebrew repo contains some files with invalid rpaths, but they're just test files # that aren't used by anything at runtime. %global __brp_check_rpaths %{nil} # Skip steps that could modify the contents of the homebrew repo. %global __brp_add_determinism /usr/bin/true %global __brp_linkdupes /usr/bin/true %global __brp_mangle_shebangs %{nil} %global debug_package %{nil} %define homebrew_installer_commit 1fbd624ba0419f40056a60df219617d05ee67e55 %define build_timestamp %(date -u '+%%y%%m%%d%%H') Name: homebrew Version: 5.0.11 Release: %{build_timestamp} Summary: The Missing Package Manager for macOS (or Linux) License: Apache-2.0 AND BSD-2-Clause URL: https://github.com/secureblue/homebrew Source0: homebrew-5.0.11.tar.gz Source1: homebrew-install.sh BuildRequires: curl >= 7.41.0 BuildRequires: git-core >= 2.7.0 BuildRequires: systemd-rpm-macros Requires: curl >= 7.41.0 Requires: gcc Requires: git-core >= 2.7.0 Requires: zstd %{?systemd_requires} # Filter out unwanted automatic dependencies. For documentation, see: # https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ %global __requires_exclude_from ^%{_datadir}/homebrew/.linuxbrew/Homebrew/((.*/)?\\..*|.*\\.swift|Library/Homebrew/test(_bot)?/.*)$ %description Homebrew installs the stuff you need that Apple (or your Linux system) didn't. %prep %setup -C mv %{SOURCE1} . patch -p0 < homebrew-install.patch %build mkdir .linuxbrew env -i HOME=/home/linuxbrew PATH=/usr/bin:/bin:/usr/sbin:/sbin NONINTERACTIVE=1 /bin/bash ./homebrew-install.sh %install # main brew installation mkdir -m 755 -p %{buildroot}%{_datadir}/homebrew cp -a .linuxbrew %{buildroot}%{_datadir}/homebrew # brew environment settings mkdir -m 755 -p %{buildroot}%{_sysconfdir}/homebrew cp -a etc/homebrew/brew.env %{buildroot}%{_sysconfdir}/homebrew # systemd units for automatic brew setup and updates mkdir -m 755 -p %{buildroot}%{_unitdir} cp -a usr/lib/systemd/system/* %{buildroot}%{_unitdir} # brew shell environment and completions mkdir -m 755 -p %{buildroot}%{_sysconfdir}/profile.d %{buildroot}%{_datadir}/fish/vendor_conf.d cp -a etc/profile.d/brew*.sh %{buildroot}%{_sysconfdir}/profile.d cp -a usr/share/fish/vendor_conf.d/brew-fish-completions.fish %{buildroot}%{_datadir}/fish/vendor_conf.d # systemd-tmpfiles mkdir -m 755 -p %{buildroot}%{_tmpfilesdir} cp -a usr/lib/tmpfiles.d/homebrew.conf %{buildroot}%{_tmpfilesdir} %post %systemd_post brew-setup.service %systemd_post brew-update.service %systemd_post brew-update.timer %systemd_post brew-upgrade.service %systemd_post brew-upgrade.timer %preun %systemd_preun brew-setup.service %systemd_preun brew-update.service %systemd_preun brew-update.timer %systemd_preun brew-upgrade.service %systemd_preun brew-upgrade.timer %postun %systemd_postun_with_reload brew-setup.service %systemd_postun_with_reload brew-update.service %systemd_postun_with_restart brew-update.timer %systemd_postun_with_reload brew-upgrade.service %systemd_postun_with_restart brew-upgrade.timer %files %{_datadir}/homebrew %{_unitdir}/brew-setup.service %{_unitdir}/brew-update.service %{_unitdir}/brew-update.timer %{_unitdir}/brew-upgrade.service %{_unitdir}/brew-upgrade.timer %{_datadir}/fish/vendor_conf.d/brew-fish-completions.fish %{_tmpfilesdir}/homebrew.conf %config(noreplace) %{_sysconfdir}/homebrew %config(noreplace) %{_sysconfdir}/profile.d/brew.sh %config(noreplace) %{_sysconfdir}/profile.d/brew-bash-completions.sh %ghost %config(noreplace) %{_sysconfdir}/.linuxbrew %changelog * Thu Jan 22 2026 Daniel Hast - Filter out unwanted automatic dependencies - Require git-core instead of the full git package - Use build timestamp for release number * Fri Jan 16 2026 Daniel Hast - Initial RPM release