Initial package import
This commit is contained in:
parent
6225bdc115
commit
d01a35a2c3
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/mandoc-1.14.4.tar.gz
|
39
mandoc-install-hdr.patch
Normal file
39
mandoc-install-hdr.patch
Normal file
@ -0,0 +1,39 @@
|
||||
diff -purN mandoc-1.14.4.orig/Makefile mandoc-1.14.4/Makefile
|
||||
--- mandoc-1.14.4.orig/Makefile 2019-02-07 12:03:35.614493086 -0500
|
||||
+++ mandoc-1.14.4/Makefile 2019-02-07 12:04:04.825552194 -0500
|
||||
@@ -430,7 +430,7 @@ lib-install: libmandoc.so.$(SOVERSION)
|
||||
$(INSTALL_LIB) libmandoc.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)
|
||||
ln -s libmandoc.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)/libmandoc.so.$(SOMAJOR)
|
||||
ln -s libmandoc.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)/libmandoc.so
|
||||
- $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \
|
||||
+ $(INSTALL_HDR) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \
|
||||
$(DESTDIR)$(INCLUDEDIR)
|
||||
$(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
|
||||
mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
|
||||
diff -purN mandoc-1.14.4.orig/configure mandoc-1.14.4/configure
|
||||
--- mandoc-1.14.4.orig/configure 2018-08-08 10:51:51.000000000 -0400
|
||||
+++ mandoc-1.14.4/configure 2019-02-07 12:04:04.826552196 -0500
|
||||
@@ -119,6 +119,7 @@ MANM_TBL="tbl"
|
||||
INSTALL="install"
|
||||
INSTALL_PROGRAM=
|
||||
INSTALL_LIB=
|
||||
+INSTALL_HDR=
|
||||
INSTALL_MAN=
|
||||
INSTALL_DATA=
|
||||
LN="ln -f"
|
||||
@@ -523,6 +524,7 @@ exec > Makefile.local
|
||||
|
||||
[ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555"
|
||||
[ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444"
|
||||
+[ -z "${INSTALL_HDR}" ] && INSTALL_HDR="${INSTALL} -m 0444"
|
||||
[ -z "${INSTALL_MAN}" ] && INSTALL_MAN="${INSTALL} -m 0444"
|
||||
[ -z "${INSTALL_DATA}" ] && INSTALL_DATA="${INSTALL} -m 0444"
|
||||
|
||||
@@ -569,6 +571,7 @@ MANM_TBL = ${MANM_TBL}
|
||||
INSTALL = ${INSTALL}
|
||||
INSTALL_PROGRAM = ${INSTALL_PROGRAM}
|
||||
INSTALL_LIB = ${INSTALL_LIB}
|
||||
+INSTALL_HDR = ${INSTALL_HDR}
|
||||
INSTALL_MAN = ${INSTALL_MAN}
|
||||
INSTALL_DATA = ${INSTALL_DATA}
|
||||
LN = ${LN}
|
104
mandoc-shared-library.patch
Normal file
104
mandoc-shared-library.patch
Normal file
@ -0,0 +1,104 @@
|
||||
diff -purN mandoc-1.14.4.orig/Makefile mandoc-1.14.4/Makefile
|
||||
--- mandoc-1.14.4.orig/Makefile 2018-08-08 10:51:51.000000000 -0400
|
||||
+++ mandoc-1.14.4/Makefile 2019-02-07 12:23:55.743962101 -0500
|
||||
@@ -17,6 +17,10 @@
|
||||
|
||||
VERSION = 1.14.4
|
||||
|
||||
+# version for the shared object file
|
||||
+SOMAJOR = 1
|
||||
+SOVERSION = $(SOMAJOR).0
|
||||
+
|
||||
# === LIST OF FILES ====================================================
|
||||
|
||||
TESTSRCS = test-be32toh.c \
|
||||
@@ -357,7 +361,7 @@ include Makefile.local
|
||||
|
||||
# === DEPENDENCY HANDLING ==============================================
|
||||
|
||||
-all: mandoc demandoc soelim $(BUILD_TARGETS) Makefile.local
|
||||
+all: mandoc demandoc soelim $(BUILD_TARGETS) Makefile.local libmandoc.so.$(SOMAJOR)
|
||||
|
||||
install: base-install $(INSTALL_TARGETS)
|
||||
|
||||
@@ -372,11 +376,15 @@ include Makefile.depend
|
||||
|
||||
# === TARGETS CONTAINING SHELL COMMANDS ================================
|
||||
|
||||
+LIBMANDOC_PIC_OBJS = $(COMPAT_OBJS:.o=.pic.o) $(LIBMANDOC_OBJS:.o=.pic.o)
|
||||
+%.pic.o: %.c
|
||||
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) -fPIC $< -o $@
|
||||
+
|
||||
distclean: clean
|
||||
rm -f Makefile.local config.h config.h.old config.log config.log.old
|
||||
|
||||
clean:
|
||||
- rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS)
|
||||
+ rm -f libmandoc.a libmandoc.so.$(SOVERSION) $(LIBMANDOC_OBJS) $(LIBMANDOC_PIC_OBJS) $(COMPAT_OBJS)
|
||||
rm -f mandoc $(MAIN_OBJS)
|
||||
rm -f man.cgi $(CGI_OBJS)
|
||||
rm -f mandocd catman catman.o $(MANDOCD_OBJS)
|
||||
@@ -415,11 +423,13 @@ base-install: mandoc demandoc soelim
|
||||
$(INSTALL_MAN) makewhatis.8 \
|
||||
$(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8
|
||||
|
||||
-lib-install: libmandoc.a
|
||||
+lib-install: libmandoc.so.$(SOVERSION)
|
||||
mkdir -p $(DESTDIR)$(LIBDIR)
|
||||
mkdir -p $(DESTDIR)$(INCLUDEDIR)
|
||||
mkdir -p $(DESTDIR)$(MANDIR)/man3
|
||||
- $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
|
||||
+ $(INSTALL_LIB) libmandoc.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)
|
||||
+ ln -s libmandoc.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)/libmandoc.so.$(SOMAJOR)
|
||||
+ ln -s libmandoc.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)/libmandoc.so
|
||||
$(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \
|
||||
$(DESTDIR)$(INCLUDEDIR)
|
||||
$(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
|
||||
@@ -468,7 +478,8 @@ uninstall:
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN)
|
||||
rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.8
|
||||
rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8
|
||||
- rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a
|
||||
+ rm -f $(DESTDIR)$(LIBDIR)/libmandoc.so.$(SOVERSION)
|
||||
+ rm -f $(DESTDIR)$(LIBDIR)/libmandoc.so
|
||||
rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.3
|
||||
rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.3
|
||||
rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.3
|
||||
@@ -495,20 +506,29 @@ Makefile.local config.h: configure $(TES
|
||||
libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
|
||||
ar rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
|
||||
|
||||
-mandoc: $(MAIN_OBJS) libmandoc.a
|
||||
- $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD)
|
||||
+libmandoc.so.$(SOVERSION): $(LIBMANDOC_PIC_OBJS)
|
||||
+ $(CC) -shared -Wl,-soname=libmandoc.so.$(SOMAJOR) -o $@ $(LIBMANDOC_PIC_OBJS)
|
||||
+
|
||||
+libmandoc.so.$(SOMAJOR): libmandoc.so.$(SOVERSION)
|
||||
+ ln -sf libmandoc.so.$(SOVERSION) libmandoc.so.$(SOMAJOR)
|
||||
+
|
||||
+libmandoc.so: libmandoc.so.$(SOVERSION)
|
||||
+ ln -sf libmandoc.so.$(SOVERSION) libmandoc.so
|
||||
+
|
||||
+mandoc: $(MAIN_OBJS) libmandoc.so
|
||||
+ $(CC) -o $@ -L. -lmandoc $(LDFLAGS) $(MAIN_OBJS) $(LDADD)
|
||||
|
||||
man.cgi: $(CGI_OBJS) libmandoc.a
|
||||
$(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD)
|
||||
|
||||
-mandocd: $(MANDOCD_OBJS) libmandoc.a
|
||||
- $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD)
|
||||
+mandocd: $(MANDOCD_OBJS) libmandoc.so
|
||||
+ $(CC) -o $@ -L. -lmandoc $(LDFLAGS) $(MANDOCD_OBJS) $(LDADD)
|
||||
|
||||
-catman: catman.o libmandoc.a
|
||||
- $(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD)
|
||||
+catman: catman.o libmandoc.so
|
||||
+ $(CC) -o $@ -L. -lmandoc $(LDFLAGS) catman.o $(LDADD)
|
||||
|
||||
-demandoc: $(DEMANDOC_OBJS) libmandoc.a
|
||||
- $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD)
|
||||
+demandoc: $(DEMANDOC_OBJS) libmandoc.so
|
||||
+ $(CC) -o $@ -L. -lmandoc $(LDFLAGS) $(DEMANDOC_OBJS) $(LDADD)
|
||||
|
||||
soelim: $(SOELIM_OBJS)
|
||||
$(CC) -o $@ $(LDFLAGS) $(SOELIM_OBJS)
|
143
mandoc.spec
Normal file
143
mandoc.spec
Normal file
@ -0,0 +1,143 @@
|
||||
Name: mandoc
|
||||
Version: 1.14.4
|
||||
Release: 1%{?dist}
|
||||
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: mandoc-shared-library.patch
|
||||
|
||||
# Separate the commands for installing libraries and headers
|
||||
Patch1: mandoc-install-hdr.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
# requirements for %%check
|
||||
BuildRequires: perl(IPC::Open3)
|
||||
|
||||
Requires: libmandoc%{?_isa} = %{version}-%{release}
|
||||
|
||||
%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
|
||||
Summary: A validating compiler for mdoc and man
|
||||
|
||||
%description -n libmandoc
|
||||
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.
|
||||
|
||||
%package -n libmandoc-devel
|
||||
Summary: Development libraries and headers for libmandoc
|
||||
Requires: libmandoc%{?_isa} = %{version}-%{release}
|
||||
|
||||
%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
|
||||
|
||||
# change the names of binaries, conf files, and section 7 man pages
|
||||
# to avoid conflicts with man-db and groff
|
||||
echo 'MANM_MANCONF=mandoc.conf' >> configure.local
|
||||
echo 'MANM_MAN=mandoc_man' >> configure.local
|
||||
echo 'BINM_MAN=mman' >> configure.local
|
||||
echo 'BINM_APROPOS=mapropos' >> configure.local
|
||||
echo 'BINM_WHATIS=mwhatis' >> configure.local
|
||||
echo 'BINM_MAKEWHATIS=mandocdb' >> configure.local
|
||||
echo 'BINM_SOELIM=msoelim' >> 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_HDR="${INSTALL} -m 0644"' >> configure.local
|
||||
echo 'INSTALL_MAN="${INSTALL} -m 0644"' >> configure.local
|
||||
echo 'INSTALL_DATA="${INSTALL} -m 0644"' >> configure.local
|
||||
|
||||
echo 'INSTALL_LIBMANDOC=1' >> configure.local
|
||||
|
||||
echo 'CFLAGS="%{optflags}"' >> configure.local
|
||||
./configure
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
%check
|
||||
env LD_LIBRARY_PATH="$PWD" make regress
|
||||
|
||||
%ldconfig_scriptlets -n libmandoc
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/demandoc
|
||||
%{_bindir}/mandoc
|
||||
%{_bindir}/mapropos
|
||||
%{_bindir}/mman
|
||||
%{_bindir}/msoelim
|
||||
%{_bindir}/mwhatis
|
||||
%{_sbindir}/mandocdb
|
||||
%{_mandir}/man1/demandoc.1*
|
||||
%{_mandir}/man1/mandoc.1*
|
||||
%{_mandir}/man1/mapropos.1*
|
||||
%{_mandir}/man1/mman.1*
|
||||
%{_mandir}/man1/msoelim.1*
|
||||
%{_mandir}/man1/mwhatis.1*
|
||||
%{_mandir}/man5/mandoc.conf.5*
|
||||
%{_mandir}/man5/mandoc.db.5*
|
||||
%{_mandir}/man7/eqn.7*
|
||||
%{_mandir}/man7/mandoc_char.7*
|
||||
%{_mandir}/man7/mandoc_man.7*
|
||||
%{_mandir}/man7/mdoc.7*
|
||||
%{_mandir}/man7/roff.7*
|
||||
%{_mandir}/man7/tbl.7*
|
||||
%{_mandir}/man8/mandocdb.8*
|
||||
|
||||
%files -n libmandoc
|
||||
%license LICENSE
|
||||
%{_libdir}/libmandoc.so.1.0
|
||||
%{_libdir}/libmandoc.so.1
|
||||
|
||||
%files -n libmandoc-devel
|
||||
%license LICENSE
|
||||
%{_libdir}/libmandoc.so
|
||||
%{_includedir}/man.h
|
||||
%{_includedir}/mandoc.h
|
||||
%{_includedir}/mandoc_aux.h
|
||||
%{_includedir}/mdoc.h
|
||||
%{_includedir}/roff.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
|
||||
* Thu Feb 7 2019 David Shea <dshea@redhat.com> - 1.14.4-1
|
||||
- Initial package
|
Loading…
Reference in New Issue
Block a user