From: Kirill A. Korinsky Subject: Install libfido2.pc To: OpenBSD tech , djm@openbsd.org Date: Sun, 06 Sep 2026 03:41:37 +0200 tech@, when I working on libfido2 update I had noticed that it missed libfido2.pc. I hadn't included it into update to make it clean and now I'd like to add it. I haven't found any source of version, so, I've used NEWS. Other option is hardcode it which I like less. Risks that some ports may picks it which hasn't picked it yet. Thoughts? Ok? Index: Makefile =================================================================== RCS file: /home/cvs/src/lib/libfido2/Makefile,v diff -u -p -r1.10 Makefile --- Makefile 4 Sep 2026 16:20:01 -0000 1.10 +++ Makefile 6 Sep 2026 01:18:43 -0000 @@ -13,9 +13,11 @@ LDADD+= -L${BSDOBJDIR}/lib/libcbor -lcb LDADD+= -L${BSDOBJDIR}/lib/libcrypto -lcrypto LDADD+= -L${BSDOBJDIR}/lib/libz -lz +PC_FILES= libfido2.pc + SYMBOL_LIST= Symbols.list VERSION_SCRIPT= Symbols.map -CLEANFILES= ${SYMBOL_LIST} ${VERSION_SCRIPT} +CLEANFILES= ${PC_FILES} ${SYMBOL_LIST} ${VERSION_SCRIPT} LIB= fido2 SRCS= aes256.c assert.c authkey.c bio.c blob.c buf.c cbor.c compress.c @@ -62,3 +64,11 @@ ${VERSION_SCRIPT}: ${SYMBOL_LIST} printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ .include + +all: ${PC_FILES} +${PC_FILES}: ${.CURDIR}/NEWS ${.CURDIR}/generate_pkgconfig.sh + /bin/sh ${.CURDIR}/generate_pkgconfig.sh -c ${.CURDIR} -o ${.OBJDIR} + +beforeinstall: + ${INSTALL} ${INSTALL_COPY} -o root -g ${SHAREGRP} \ + -m ${SHAREMODE} ${.OBJDIR}/${PC_FILES} ${DESTDIR}/usr/lib/pkgconfig/ Index: generate_pkgconfig.sh =================================================================== RCS file: generate_pkgconfig.sh diff -N generate_pkgconfig.sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ generate_pkgconfig.sh 6 Sep 2026 01:40:29 -0000 @@ -0,0 +1,71 @@ +#!/bin/sh +# +# $OpenBSD$ +# +# Copyright (c) 2010,2011 Jasper Lievisse Adriaanse +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Generate pkg-config files for OpenSSL. + +usage() { + echo "usage: ${0##*/} -c current_directory -o obj_directory" + exit 1 +} + +curdir= +objdir= +while getopts "c:o:" flag; do + case "$flag" in + c) + curdir=$OPTARG + ;; + o) + objdir=$OPTARG + ;; + *) + usage + ;; + esac +done + +[ -n "${curdir}" ] || usage +if [ ! -d "${curdir}" ]; then + echo "${0##*/}: ${curdir}: not found" + exit 1 +fi +[ -n "${objdir}" ] || usage +if [ ! -w "${objdir}" ]; then + echo "${0##*/}: ${objdir}: not found or not writable" + exit 1 +fi + +version_re='1s/^\* Version ([0-9]+\.[0-9]+\.[0-9]+) .*/\1/p' +version_file=${curdir}/NEWS +lib_version=$(sed -nE "${version_re}" "${version_file}") + +pc_file="${objdir}/libfido2.pc" +cat > ${pc_file} << __EOF__ +prefix=/usr +exec_prefix=\${prefix} +libdir=\${exec_prefix}/lib +includedir=\${prefix}/include + +Name: libfido2 +Description: A FIDO2 library +URL: https://github.com/yubico/libfido2 +Version: ${lib_version} +Requires: libcrypto +Libs: -L\${libdir} -lfido2 +Cflags: -I\${includedir} +__EOF__ -- wbr, Kirill