%global forgeurl https://github.com/XTLS/Xray-core %global version %(date +%Y%m%d) %global commit 6bf0376773e87e6691b10e88f7d91bf3c55f6b0f %global _forgeversionsuffix %{scm}%(printf %.7s %{commit}) %global gomodulesmode GO111MODULE=on %global source_date_epoch_from_changelog 0 %global _enable_debug_packages 0 %forgemeta Name: xray Version: %{forgeversion} Release: %{autorelease} Summary: XTLS/Xray proxy platform License: MPL-2.0 URL: https://xtls.github.io/en/ Source0: %{forgesource} Source1: %{name}@.service Source2: %{name}.howto BuildRequires: git-core BuildRequires: golang-bin BuildRequires: go-rpm-macros BuildRequires: systemd-rpm-macros %description XTLS/Xray is a multiprotocol proxy platform. It allows to circumvent censorship and data discrimination. %prep %forgesetup %build export GOPROXY="https://proxy.golang.org,direct" export GOFLAGS="-trimpath" export GO_LDFLAGS="-s -w" %gobuild -o %{name} ./main %install %__install -p -m 755 -d -T %{buildroot}%{_sysconfdir}/%{name} %__install -p -m 644 -D -t %{buildroot}%{_unitdir} %{SOURCE1} %__install -p -m 755 -D -t %{buildroot}%{_bindir} %{name} %__install -p -m 644 -D -t %{buildroot}%{_licensedir}/%{name} LICENSE %__install -p -m 644 -D -t %{buildroot}%{_pkgdocdir} %{SOURCE2} README.md %post for UNIT in $(systemctl -P Id show %{name}@\*.service) do %systemd_post ${UNIT} done %preun for UNIT in $(systemctl -P Id show %{name}@\*.service) do %systemd_preun ${UNIT} done %postun for UNIT in $(systemctl -P Id show %{name}@\*.service) do %systemd_postun_with_restart ${UNIT} done %files %license %{_licensedir}/* %doc %{_pkgdocdir} %{_sysconfdir}/* %{_unitdir}/* %{_bindir}/*