From 9c8861c0fb819fa71494d86fcffd6186025eda18 Mon Sep 17 00:00:00 2001 From: Andrew <51118083+ArionThinker@users.noreply.github.com> Date: Wed, 6 Sep 2023 21:04:59 +0300 Subject: [PATCH] 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 --- projects/man-db.gitlab.io/man-db/README.md | 3 + projects/man-db.gitlab.io/man-db/package.yml | 73 ++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 projects/man-db.gitlab.io/man-db/README.md create mode 100644 projects/man-db.gitlab.io/man-db/package.yml diff --git a/projects/man-db.gitlab.io/man-db/README.md b/projects/man-db.gitlab.io/man-db/README.md new file mode 100644 index 00000000..e12405d6 --- /dev/null +++ b/projects/man-db.gitlab.io/man-db/README.md @@ -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 \ No newline at end of file diff --git a/projects/man-db.gitlab.io/man-db/package.yml b/projects/man-db.gitlab.io/man-db/package.yml new file mode 100644 index 00000000..c1decda5 --- /dev/null +++ b/projects/man-db.gitlab.io/man-db/package.yml @@ -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 <$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 \ No newline at end of file