man-db.gitlab.io/man-db (#2991)

* create package

* wip

* rename

* wip

* with-config-file for linux

* wip

* wip

* stubs

* do not create stubs for lexgrog and man-recode
This commit is contained in:
Andrew 2023-09-06 21:04:59 +03:00 committed by GitHub
parent 6d19be808b
commit 9c8861c0fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 76 additions and 0 deletions

View file

@ -0,0 +1,3 @@
man-db does not know about Xcode's manpages by default. You may want to add them to your MANPATH. Obtain the complete list of Xcode man directories with:
find $(xcode-select -p) -type d | /usr/bin/grep '/usr/share/man$' | /usr/bin/tr -s '\n' ':'; echo

View file

@ -0,0 +1,73 @@
distributable:
url: https://download.savannah.nongnu.org/releases/man-db/man-db-{{version}}.tar.xz
strip-components: 1
display-name: man-db
versions:
gitlab: man-db/man-db
dependencies:
libpipeline.gitlab.io/libpipeline: '*'
gnu.org/groff: '*'
linux:
gnu.org/gdbm: '*'
build:
dependencies:
tea.xyz/gx/cc: c99
gnu.org/make: '*'
freedesktop.org/pkg-config: '*'
script:
- ./configure $CONFIGURE_ARGS
- make --jobs {{hw.concurrency}} install
- sed -i.bak "s|$TEA_PREFIX|\$TEA_PREFIX|g" {{prefix}}/etc/systemd/system/man-db.service
- rm {{prefix}}/etc/systemd/system/man-db.service.bak
- run: |
# Creating stubs
for name in $(ls {{prefix}}/libexec/bin)
do
cat <<EOF >$name
#!/bin/bash
config_file="\$(dirname \$0)/../../etc/man_db.conf"
\$(dirname \$0)/../libexec/bin/$name --config-file="\$config_file" "\$@"
EOF
chmod +x $name
done
# These binaries do not require a config file
rm lexgrog man-recode
ln -s ../libexec/bin/lexgrog lexgrog
ln -s ../libexec/bin/man-recode man-recode
working-directory: "{{prefix}}/bin"
env:
CONFIGURE_ARGS:
- --disable-debug
- --disable-dependency-tracking
- --prefix="{{prefix}}"
- --libdir="{{prefix}}/lib"
- --bindir="{{prefix}}/libexec/bin"
- --disable-silent-rules
- --disable-cache-owner
- --disable-setuid
- --disable-nls
- --localstatedir="{{prefix}}/var"
- --with-config-file="{{prefix}}/etc/man_db.conf"
- --with-systemdsystemunitdir="{{prefix}}/etc/systemd/system"
- --with-systemdtmpfilesdir="{{prefix}}/lib/tmpfiles.d"
provides:
- bin/apropos
- bin/catman
- bin/lexgrog
- bin/man
- bin/mandb
- bin/manpath
- bin/man-recode
- bin/whatis
test:
env:
PAGER: cat
script:
# This check is specific to Linux because on darwin (macOS), the 'man' command does not display version information.
- run: man --version | grep {{version}}
if: linux
- which man | grep {{prefix}}
- man man