代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/ocaml-dune 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
%global libname dune
# Since menhir now requires dune to build, but dune needs menhir only for the
# tests, build in bootstrap mode to skip the tests and the need for menhir.
%bcond_with bootstrap
Name: ocaml-%{libname}
Version: 2.4.0
Release: 2
Summary: A composable build system for OCaml
# Dune itself is MIT. Some bundled libraries have a different license:
# ISC:
# - vendor/cmdliner
# LGPLv2:
# - vendor/incremental-cycles
# LGPLv2 with exceptions:
# - vendor/opam-file-format
# - vendor/re
License: MIT and LGPLv2 and LGPLv2 with exceptions and ISC
URL: https://dune.build
Source0: https://github.com/ocaml/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz
BuildRequires: emacs
BuildRequires: ocaml >= 4.07
BuildRequires: ocaml-findlib
BuildRequires: python3dist(sphinx)
BuildRequires: python3dist(sphinx-rtd-theme)
%if %{without bootstrap}
# Required by tests.
#BuildRequires: ocaml-menhir
%endif
# Dune has vendored deps (ugh):
# I'm not clear on how to unbundle them.
# It seems to be unsupported upstream; the bootstrap process for dune
# doesn't seem to be able to detect libraries installed systemwide.
# https://github.com/ocaml/dune/issues/220
Provides: bundled(ocaml-opam-file-format) = 2.0.0
Provides: bundled(ocaml-cmdliner) = 1.0.3
Provides: bundled(ocaml-re) = 1.7.1
Provides: dune = %{version}-%{release}
Provides: jbuilder = %{version}-%{release}
Obsoletes: jbuilder < 1.0.1-3
%description
Dune is a build system designed for OCaml/Reason projects only. It focuses
on providing the user with a consistent experience and takes care of most of
the low-level details of OCaml compilation. All you have to do is provide a
description of your project and Dune will do the rest.
The scheme it implements is inspired from the one used inside Jane Street and
adapted to the open source world. It has matured over a long time and is used
daily by hundred of developers, which means that it is highly tested and
productive.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and
signature files for developing applications that use %{name}.
%package doc
Summary: HTML documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
HTML documentation for dune, a composable build system for OCaml.
%package emacs
Summary: Emacs support for %{name}
License: ISC
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description emacs
The %{name}-devel package contains Emacs integration with the dune build
system, a mode to edit dune files, and flymake support for dune files.
%prep
%autosetup -n %{libname}-%{version} -p1
%build
./configure --libdir %{_libdir}/ocaml --mandir %{_mandir}
# This command fails, because ppx_bench, ppx_expect, and core_bench are missing.
# However, it is only tests that fail, not the actual build, so ignore the
# failures and continue.
%make_build release || :
./dune.exe build @install
%make_build doc
# Relink the stublib. See https://github.com/ocaml/dune/issues/2977.
cd _build/default/src/stdune
ocamlmklib -g -ldopt "$RPM_LD_FLAGS" -o stdune_stubs fcntl_stubs.o
cd -
%install
# "make install" only installs the binary. We want the libraries, too.
./dune.exe install --destdir %{buildroot}
%ifarch %{ocaml_native_compiler}
# Add missing executable bits
find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod 0755 {} \+
%endif
# Byte compile the Emacs files
cd %{buildroot}%{_emacs_sitelispdir}
%_emacs_bytecompile dune.el dune-flymake.el
cd -
# Install documentation by way of pkgdocdir.
rm -fr %{buildroot}%{_prefix}/doc
mkdir -p %{buildroot}%{_pkgdocdir}/
cp -ar README.md CHANGES.md MIGRATION.md doc/_build/* %{buildroot}%{_pkgdocdir}/
%if %{without bootstrap}
%check
# These are the only tests we can run. The others require components that
# either depend on dune themselves or are not available in Fedora at all.
%{buildroot}%{_bindir}/dune runtest test/unit-tests
%endif
%files
%license LICENSE.md
%doc %{_pkgdocdir}/README.md
%doc %{_pkgdocdir}/CHANGES.md
%doc %{_pkgdocdir}/MIGRATION.md
%{_bindir}/dune
%{_mandir}/man*/dune*
%dir %{_pkgdocdir}/
%dir %{_libdir}/ocaml/dune/
%dir %{_libdir}/ocaml/dune-action-plugin/
%dir %{_libdir}/ocaml/dune-build-info/
%dir %{_libdir}/ocaml/dune-configurator/
%dir %{_libdir}/ocaml/dune-glob/
%dir %{_libdir}/ocaml/dune-private-libs/
%dir %{_libdir}/ocaml/dune-private-libs/dune-lang/
%dir %{_libdir}/ocaml/dune-private-libs/dune_re/
%dir %{_libdir}/ocaml/dune-private-libs/ocaml-config/
%dir %{_libdir}/ocaml/dune-private-libs/stdune/
%{_libdir}/ocaml/dune*/META
%{_libdir}/ocaml/dune*/*.cma
%{_libdir}/ocaml/dune*/*.cmi
%{_libdir}/ocaml/dune-private-libs/*/*.cma
%{_libdir}/ocaml/dune-private-libs/*/*.cmi
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/dune*/*.cmxs
%{_libdir}/ocaml/dune-private-libs/*/*.cmxs
%{_libdir}/ocaml/stublibs/dllstdune_stubs.so
%endif
%files devel
%{_libdir}/ocaml/dune*/dune-package
%{_libdir}/ocaml/dune*/opam
%{_libdir}/ocaml/dune*/*.cmt
%{_libdir}/ocaml/dune*/*.cmti
%{_libdir}/ocaml/dune*/*.ml
%{_libdir}/ocaml/dune*/*.mli
%{_libdir}/ocaml/dune-private-libs/*/*.cmt
%{_libdir}/ocaml/dune-private-libs/*/*.cmti
%{_libdir}/ocaml/dune-private-libs/*/*.ml
%{_libdir}/ocaml/dune-private-libs/*/*.mli
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/dune*/*.a
%{_libdir}/ocaml/dune*/*.cmx
%{_libdir}/ocaml/dune*/*.cmxa
%{_libdir}/ocaml/dune-private-libs/*/*.a
%{_libdir}/ocaml/dune-private-libs/*/*.cmx
%{_libdir}/ocaml/dune-private-libs/*/*.cmxa
%endif
%files doc
%exclude %{_pkgdocdir}/README.md
%exclude %{_pkgdocdir}/CHANGES.md
%doc %{_pkgdocdir}/*
%files emacs
%{_emacs_sitelispdir}/dune*
%changelog
* Tue Dec 14 2021 konglidong <konglidong@uniontech.com> - 2.4.0-2
- delete %dist
* Thu Nov 12 2020 wanghongzhe<wanghongzhe@huawei.com> - 2.4.0-1
- Package Init
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。