1 Star 0 Fork 8

李龙/mandoc

forked from src-openEuler/mandoc 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
mandoc.spec 6.19 KB
Copy Edit Raw Blame History
Name: mandoc
Version: 1.14.6
Release: 5
Summary: A suite of tools for compiling mdoc and man
License: ISC
URL: https://mandoc.bsd.lv/
Source0: https://mandoc.bsd.lv/snapshots/mandoc-%{version}.tar.gz
Patch0: 0001-add-compile-option.patch
BuildRequires: gcc
BuildRequires: make
BuildRequires: clang
BuildRequires: zlib-devel
# requirements for %%check
BuildRequires: perl-interpreter
BuildRequires: perl(IPC::Open3)
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
# The shared library package has been removed per discussion with the
# upstream maintainer. If using the library, the static library is
# preferred because the API is not stable.
Provides: libmandoc = %{version}-%{release}
Obsoletes: libmandoc <= 1.14.5-10
%description
mandoc is a suite of tools compiling mdoc, the roff macro language of choice
for BSD manual pages, and man, the predominant historical language for UNIX
manuals. It is small, ISO C, ISC-licensed, and quite fast. The main component
of the toolset is the mandoc utility program, based on the libmandoc validating
compiler, to format output for UTF-8 and ASCII UNIX terminals, HTML 5,
PostScript, and PDF.
%package -n libmandoc-devel
Summary: Development libraries and headers for libmandoc
%description -n libmandoc-devel
The mandoc library parses a UNIX manual into an abstract syntax tree (AST).
UNIX manuals are composed of mdoc(7) or man(7), and may be mixed with roff(7),
tbl(7), and eqn(7) invocations.
%prep
%autosetup -p1
%build
# NB: not an autoconf script
# settings are read in through configure.local
echo 'PREFIX=%{_prefix}' > configure.local
echo 'BINDIR=%{_bindir}' >> configure.local
echo 'SBINDIR=%{_sbindir}' >> configure.local
echo 'MANDIR=%{_mandir}' >> configure.local
echo 'INCLUDEDIR=%{_includedir}' >> configure.local
echo 'LIBDIR=%{_libdir}' >> configure.local
# with default settings rpmlint complains about cross-directory hardlinks
echo 'LN="ln -sf"' >> configure.local
echo 'MANM_MANCONF=mandoc.conf' >> configure.local
# override the install permissions so that owner-write bits are set,
# so rpmbuild can do whatever modifications it does post-%%install
echo 'INSTALL_PROGRAM="${INSTALL} -m 0755"' >> configure.local
echo 'INSTALL_LIB="${INSTALL} -m 0755"' >> configure.local
echo 'INSTALL_MAN="${INSTALL} -m 0644"' >> configure.local
echo 'INSTALL_DATA="${INSTALL} -m 0644"' >> configure.local
echo 'INSTALL_LIBMANDOC=1' >> configure.local
%ifarch riscv64
echo 'CFLAGS="%{optflags} -fPIC -Werror=implicit-function-declaration"' >> configure.local
%else
echo 'CFLAGS="%{optflags} -fPIC"' >> configure.local
%endif
export CC=clang
./configure
%make_build
%install
%make_install
# Ensure headers do not have the execute bit set
chmod -x %{buildroot}%{_includedir}/*.h
# rename files for alternative usage
for f in man apropos whatis soelim; do
# Rename binary executables
mv %{buildroot}%{_bindir}/$f %{buildroot}%{_bindir}/$f.%{name}
# Rename corresponding man pages
mv %{buildroot}%{_mandir}/man1/$f.1 %{buildroot}%{_mandir}/man1/$f.%{name}.1
done
%check
env LD_LIBRARY_PATH="$PWD" %make_build regress
%pre
for f in man apropos whatis; do
[ -L %{_bindir}/$f ] || %{__rm} -f %{_bindir}/$f >/dev/null 2>&1 || :
[ -L %{_mandir}/man1/$f.1.gz ] || %{__rm} -f %{_mandir}/man1/$f.1.gz >/dev/null 2>&1 || :
done
if [ -e /usr/lib/systemd/system/mandb.timer ]; then
if test -d /run/systemd; then
systemctl stop man-db.timer >/dev/null 2>&1 || :
systemctl -q disable man-db.timer >/dev/null 2>&1 || :
fi
fi
%preun
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove man %{_bindir}/man.%{name} >/dev/null 2>&1 || :
fi
%post
# set up the alternatives files
%{_sbindir}/update-alternatives --install %{_bindir}/man man %{_bindir}/man.%{name} 300 \
--slave %{_bindir}/apropos apropos %{_bindir}/apropos.%{name} \
--slave %{_bindir}/whatis whatis %{_bindir}/whatis.%{name} \
--slave %{_mandir}/man1/man.1.gz man.1.gz %{_mandir}/man1/man.%{name}.1.gz \
--slave %{_mandir}/man1/apropos.1.gz apropos.1.gz %{_mandir}/man1/apropos.%{name}.1.gz \
--slave %{_mandir}/man1/whatis.1.gz whatis.1.gz %{_mandir}/man1/whatis.%{name}.1.gz \
--slave %{_mandir}/man1/soelim.1.gz soelim.1.gz %{_mandir}/man1/soelim.%{name}.1.gz \
>/dev/null 2>&1 || :
%files
%license LICENSE
%{_bindir}/demandoc
%{_bindir}/mandoc
%ghost %{_bindir}/apropos
%{_bindir}/apropos.%{name}
%ghost %{_bindir}/man
%{_bindir}/man.%{name}
%ghost %{_bindir}/soelim
%{_bindir}/soelim.%{name}
%ghost %{_bindir}/whatis
%{_bindir}/whatis.%{name}
%{_sbindir}/makewhatis
%{_mandir}/man1/demandoc.1.gz
%{_mandir}/man1/mandoc.1.gz
%ghost %{_mandir}/man1/soelim.1*
%{_mandir}/man1/soelim.%{name}.*
%ghost %{_mandir}/man1/man.1*
%ghost %{_mandir}/man1/apropos.1*
%ghost %{_mandir}/man1/whatis.1*
%{_mandir}/man1/man.%{name}.1*
%{_mandir}/man1/apropos.%{name}.1*
%{_mandir}/man1/whatis.%{name}.1*
%{_mandir}/man5/mandoc.conf.5.gz
%{_mandir}/man5/mandoc.db.5.gz
%{_mandir}/man7/eqn.7.gz
%{_mandir}/man7/mandoc_char.7.gz
%{_mandir}/man7/man.7.gz
%{_mandir}/man7/mdoc.7.gz
%{_mandir}/man7/roff.7.gz
%{_mandir}/man7/tbl.7.gz
%{_mandir}/man8/makewhatis.8.gz
%files -n libmandoc-devel
%license LICENSE
%{_libdir}/libmandoc.a
%{_includedir}/eqn.h
%{_includedir}/man.h
%{_includedir}/mandoc.h
%{_includedir}/mandoc_aux.h
%{_includedir}/mandoc_parse.h
%{_includedir}/mdoc.h
%{_includedir}/roff.h
%{_includedir}/tbl.h
%{_mandir}/man3/mandoc.3*
%{_mandir}/man3/mandoc_escape.3*
%{_mandir}/man3/mandoc_malloc.3*
%{_mandir}/man3/mansearch.3*
%{_mandir}/man3/mchars_alloc.3*
%{_mandir}/man3/tbl.3*
%changelog
* Mon Apr 22 2024 lilong <lilong@kylinos.cn> - 1.14.6-5
- Fix low-level dependency compilation failure
* Mon Apr 15 2024 lilong <lilong@kylinos.cn> - 1.14.6-4
- Fix crash when mandoc install
* Mon Oct 9 2023 laokz <zhangkai@iscas.ac.cn> - 1.14.6-3
- add CFLAGS for riscv64 to workaround fragile test-strptime.c
* Thu Apr 6 2023 changzhangm <chaozhangm@isoftstone.com> - 1.14.6-2
- Update to 1.14.6-2
* Fri Sep 23 2022 chendexi <chendexi@kylinos.cn> - 1.14.6-1
- Initial package
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lilong00/mandoc.git
git@gitee.com:lilong00/mandoc.git
lilong00
mandoc
mandoc
master

Search