%global srcversion 0.1.20221118-210929-cfbb68aa %global forgeurl https://github.com/facebook/sapling Name: sapling # Sanitize upstream version Version: %(echo %{srcversion} | tr '-' '~') Release: %autorelease Summary: Scalable, User-Friendly Source Control System License: GPLv2 URL: https://sapling-scm.com/ Source: %{forgeurl}/archive/%{srcversion}/%{name}-%{srcversion}.tar.gz # cext: drop pathencode C path Patch0: %{forgeurl}/commit/7a78bc7de7d1fec28441f300d5ba3587636a82b4.patch # setup: upgrade Cython to its latest version Patch1: %{forgeurl}/commit/3fc550c76753a8a6bd45589d073ac4709f5aced2.patch # traceprof: fix Python 3.11 compat Patch2: %{forgeurl}/commit/456c5ee6cbc00875b42b847c74f40933521934d1.patch # Currently this requires networking as it downloads a whole bunch of stuff # during builds. Add missing BRs here once offline build is working. # https://github.com/facebook/sapling/issues/143 BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: make BuildRequires: cargo BuildRequires: rust BuildRequires: yarnpkg BuildRequires: openssl-devel BuildRequires: python3-devel # Used for the optional GitHub integration Recommends: gh %description Sapling SCM is a cross-platform, highly scalable, Git-compatible source control system. It aims to provide both user-friendly and powerful interfaces for users, as well as extreme scalability to deal with repositories containing many millions of files and many millions of commits. %prep %autosetup -n %{name}-%{srcversion} -p1 %build # No point in building here as everything will be rebuilt on install anyway # https://github.com/facebook/sapling/issues/161 %install make -C eden/scm DESTDIR="%{buildroot}" PREFIX="%{_prefix}" install-oss %files %license LICENSE %doc README.md %{_bindir}/sl %{python3_sitearch}/conch_parser.so %{python3_sitearch}/edenscmdeps3.zip %{python3_sitearch}/edenscm-4.4.2-py%{python3_version}.egg-info %{python3_sitearch}/edenscm-isl/ %{python3_sitearch}/edenscm/ %{python3_sitearch}/edenscmnative/ %{python3_sitearch}/ghstack/ %changelog %autochangelog