Index | Thread | Search

From:
Damien Miller <djm@mindrot.org>
Subject:
Re: Install libfido2.pc
To:
"Kirill A. Korinsky" <kirill@korins.ky>
Cc:
OpenBSD tech <tech@openbsd.org>
Date:
Sun, 6 Sep 2026 11:44:06 +1000

Download raw body.

Thread
  • Kirill A. Korinsky:

    Install libfido2.pc

    • Damien Miller:

      Install libfido2.pc

ok djm (but please check with the ports people)

On Sun, 6 Sep 2026, Kirill A. Korinsky wrote:

> 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 <bsd.lib.mk>
> +
> +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 <jasper@openbsd.org>
> +#
> +# 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
>