0install/0install.spec
Jerry James 7a3940cea2 Reflow the description text
- Add a SourceLicense tag
2026-01-09 11:53:07 -07:00

85 lines
3 KiB
RPMSpec

# PACKAGING NOTE: We do not currently build either the command-line tool or the
# GUI interface. They depend on obus (https://github.com/ocaml-community/obus)
# which cannot be built for the version of OCaml currently in Fedora. For now
# we only build the solver, which is the only part needed by opam anyway.
%global giturl https://github.com/0install/0install
Name: 0install
Version: 2.18
Release: %autorelease
Summary: Decentralized cross-distribution software installation system
# LGPL-2.1-or-later: the project as a whole
# CC0-1.0: share/metainfo/0install.appdata.xml
# LicenseRef-Fedora-Public-Domain: src/sample_client.py
License: LGPL-2.1-or-later
SourceLicense: %{license} AND CC0-1.0 AND LicenseRef-Fedora-Public-Domain
URL: https://0install.net/
VCS: git:%{giturl}.git
Source0: %{giturl}/releases/download/v%{version}/%{name}-%{version}.tbz
Source1: %{giturl}/releases/download/v%{version}/%{name}-%{version}.tbz.sig
# Key for Thomas Leonard <talex5@gmail.com>
Source2: 5DD58D70899C454A966D6A5175133C8F94F6E0CC.gpg
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
BuildRequires: gnupg2
BuildRequires: ocaml >= 4.08
BuildRequires: ocaml-dune >= 2.5
BuildRequires: ocaml-ounit2-devel
%global _desc %{expand:Zero Install is a decentralized cross-distribution software installation
system. Other features include full support for shared libraries (with a SAT
solver for dependency resolution), sharing between users, and integration with
native platform package managers. It supports both binary and source
packages, and works on Linux, macOS, Unix and Windows systems.}
%description
%_desc
%package -n ocaml-0install-solver
Summary: Package dependency solver
%description -n ocaml-0install-solver
%_desc
This package contains a package dependency resolver based on a SAT solver.
This was originally written for the 0install package manager, but is now
generic and is also used as a solver backend for opam.
The SAT solver is based on MiniSat (http://minisat.se/Papers.html) and the
application to package management is based on OPIUM (Optimal Package
Install/Uninstall Manager). 0install-solver uses a (novel?) strategy to find
the optimal solution extremely quickly (even for a SAT-based solver).
%package -n ocaml-0install-solver-devel
Summary: Development files for %{name}-solver
Requires: ocaml-0install-solver%{?_isa} = %{version}-%{release}
%description -n ocaml-0install-solver-devel
The %{name}-solver-devel package contains libraries and signature files for
developing applications that use %{name}-solver.
%prep
%{gpgverify} --data=%{SOURCE0} --signature=%{SOURCE1} --keyring=%{SOURCE2}
%autosetup
%build
%dune_build -p 0install-solver
%install
%dune_install 0install-solver
%check
%dune_check -p 0install-solver
%files -n ocaml-0install-solver -f .ofiles
%doc CHANGES.md README.md
%license COPYING
%files -n ocaml-0install-solver-devel -f .ofiles-devel
%changelog
%autochangelog