pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc



Module Name:    pkgsrc
Committed By:   triaxx
Date:           Sat Oct 10 14:17:03 UTC 2020

Modified Files:
        pkgsrc/devel/libusb1: builtin.mk
        pkgsrc/mk/buildlink3: bsd.builtin.mk
Added Files:
        pkgsrc/mk/buildlink3: find-pkgconfig-files.mk

Log Message:
libusb1: Fix PR pkg/54903

pkgsrc changes:
---------------
  * Remove the pkgconfig file generation since the version of libusb1 cannot
    be obtained by parsing LIBUSB_API_VERSION from libusb.h (e.g. FreeBSD
    provides 0x01000102 for 1.0.13 and Arch provides 0x01000107 for 1.0.23).
  * At least FreeBSD, Debian and Arch provides a libusb-1.0.pc file for
    their native implementation. Link this file to ${BUILDLINK_DIR}.
  * Add logic in mk/buildlink3 to find pkgconfig files in common pkgconfig
    directories (for at least FreeBSD, Debian and Arch).


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/libusb1/builtin.mk
cvs rdiff -u -r1.14 -r1.15 pkgsrc/mk/buildlink3/bsd.builtin.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/mk/buildlink3/find-pkgconfig-files.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/libusb1/builtin.mk
diff -u pkgsrc/devel/libusb1/builtin.mk:1.4 pkgsrc/devel/libusb1/builtin.mk:1.5
--- pkgsrc/devel/libusb1/builtin.mk:1.4 Mon May 25 06:47:40 2020
+++ pkgsrc/devel/libusb1/builtin.mk     Sat Oct 10 14:17:02 2020
@@ -1,15 +1,15 @@
-# $NetBSD: builtin.mk,v 1.4 2020/05/25 06:47:40 plunky Exp $
+# $NetBSD: builtin.mk,v 1.5 2020/10/10 14:17:02 triaxx Exp $
 
 BUILTIN_PKG:=  libusb1
 
-BUILTIN_FIND_HEADERS_VAR:=     H_LIBUSB
-BUILTIN_FIND_HEADERS.H_LIBUSB= libusb.h
+BUILTIN_FIND_PKGCONFIG_FILES_VAR:=             PC_LIBUSB1
+BUILTIN_FIND_PKGCONFIG_FILES.PC_LIBUSB1=       libusb-1.0.pc
 
 .include "../../mk/buildlink3/bsd.builtin.mk"
 
 .if !defined(IS_BUILTIN.libusb1)
 IS_BUILTIN.libusb1=    no
-.  if empty(H_LIBUSB:M__nonexistent__)
+.  if empty(PC_LIBUSB1:M__nonexistent__)
 IS_BUILTIN.libusb1=    yes
 .  endif
 .endif
@@ -21,29 +21,19 @@ USE_BUILTIN.libusb1=        ${IS_BUILTIN.libusb
 
 .if !empty(USE_BUILTIN.libusb1:M[yY][eE][sS])
 .  if !empty(USE_TOOLS:C/:.*//:Mpkg-config)
-do-configure-pre-hook: override-libusb-pkgconfig
+do-configure-pre-hook: link-libusb-pkgconfig
 
-BLKDIR_PKGCFG= ${BUILDLINK_DIR}/lib/pkgconfig
-LIBUSB_PKGCFGF=        libusb-1.0.pc
+BLKDIR_PKGCFG=         ${BUILDLINK_DIR}/lib/pkgconfig
+LIBUSB1_PKGCFGF=       ${BUILTIN_FIND_PKGCONFIG_FILES.PC_LIBUSB1}
 
-override-libusb-pkgconfig: override-message-libusb-pkgconfig
-override-message-libusb-pkgconfig:
-       @${STEP_MSG} "Generating pkg-config file for builtin libusb1 package."
+.PHONY: link-libusb-pkgconfig link-message-libusb-pkgconfig
+link-libusb-pkgconfig: link-message-libusb-pkgconfig
+link-message-libusb-pkgconfig:
+       @${STEP_MSG} "Linking ${PC_LIBUSB1} file into ${BUILDLINK_DIR}."
 
-override-libusb-pkgconfig:
+link-libusb-pkgconfig:
        ${RUN}                                          \
        ${MKDIR} ${BLKDIR_PKGCFG};                      \
-       {                                               \
-       ${ECHO} "prefix=${LIBUSB_PREFIX}";              \
-       ${ECHO} "exec_prefix=\$${prefix}";              \
-       ${ECHO} "libdir=\$${exec_prefix}/lib";          \
-       ${ECHO} "includedir=\$${prefix}/include";       \
-       ${ECHO} "";                                     \
-       ${ECHO} "Name: libusb-1.0";                             \
-       ${ECHO} "Description: library for USB access";  \
-       ${ECHO} "Version: ${BUILTIN_VERSION.libusb1}";  \
-       ${ECHO} "Libs: ${COMPILER_RPATH_FLAG}\$${libdir} -L\$${libdir} -lusb";  \
-       ${ECHO} "Cflags: -I\$${includedir}";            \
-       } >> ${BLKDIR_PKGCFG}/${LIBUSB_PKGCFGF};
+       ${LN} -sf ${PC_LIBUSB1} ${BLKDIR_PKGCFG}/${LIBUSB1_PKGCFGF}
 .  endif
 .endif

Index: pkgsrc/mk/buildlink3/bsd.builtin.mk
diff -u pkgsrc/mk/buildlink3/bsd.builtin.mk:1.14 pkgsrc/mk/buildlink3/bsd.builtin.mk:1.15
--- pkgsrc/mk/buildlink3/bsd.builtin.mk:1.14    Wed Aug 22 20:48:36 2018
+++ pkgsrc/mk/buildlink3/bsd.builtin.mk Sat Oct 10 14:17:03 2020
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.builtin.mk,v 1.14 2018/08/22 20:48:36 maya Exp $
+# $NetBSD: bsd.builtin.mk,v 1.15 2020/10/10 14:17:03 triaxx Exp $
 #
 # Copyright (c) 2004-2005 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -166,3 +166,4 @@ _BUILTIN_PKGS+=     ${_pkg_}
 .include "../../mk/buildlink3/find-libs.mk"
 .include "../../mk/buildlink3/find-headers.mk"
 .include "../../mk/buildlink3/find-files.mk"
+.include "../../mk/buildlink3/find-pkgconfig-files.mk"

Added files:

Index: pkgsrc/mk/buildlink3/find-pkgconfig-files.mk
diff -u /dev/null pkgsrc/mk/buildlink3/find-pkgconfig-files.mk:1.1
--- /dev/null   Sat Oct 10 14:17:03 2020
+++ pkgsrc/mk/buildlink3/find-pkgconfig-files.mk        Sat Oct 10 14:17:03 2020
@@ -0,0 +1,83 @@
+# $NetBSD: find-pkgconfig-files.mk,v 1.1 2020/10/10 14:17:03 triaxx Exp $
+#
+# Copyright (c) 2020 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# This is a "subroutine" that can be included to detect the presence of
+# pkg-config files in the base system.
+#
+# The following variables must be defined before including this file:
+#
+#    BUILTIN_FIND_PKGCONFIG_VAR is a list of variables to define.  These
+#      variables take the value of the path to the file that is
+#      "found".
+#
+#    BUILTIN_FIND_PKGCONFIG.<var> is the list of header files to find, in
+#      order, on the ${BUILTIN_PKGCONFIG_DIRS}.  The variable <var> is set
+#      to the first path "found" on the filesystem.
+#
+# After including this file, the following variables are defined:
+#
+#    <var> is the first of the header file listed in
+#      ${BUILTIN_FIND_PKGCONFIG.<var>} that is "found" in
+#      ${BUILTIN_PKGCONFIG_DIRS}, or else it is "__nonexistent__".
+#
+# An example use is:
+#
+# BUILTIN_FIND_PKGCONFIG_FILES_VAR:=   LIB1 LIB2
+#
+# BUILTIN_FIND_PKGCONFIG_FILES.LIB1=   lib1.pc lib-1.0.pc
+
+# BUILTIN_FIND_PKGCONFIG_FILES.LIB2=   lib2.pc lib-2.0.pc
+# .include "../../mk/buildlink3/find-pkgconfig-files.mk"
+#
+
+BUILTIN_PKGCONFIG_DIRS?=       /usr/lib/pkgconfig                              \
+                               /usr/share/pkgconfig                            \
+                               /usr/libdata/pkgconfig                          \
+                               /usr/lib/x86_64-linux-gnu/pkgconfig             \
+                               /usr/lib/aarch64-linux-gnu/pkgconfig            \
+                               /usr/lib/arm-linux-gnueabi/pkgconfig            \
+                               /usr/lib/arm-linux-gnueabihf/pkgconfig          \
+                               /usr/lib/i386-linux-gnu/pkgconfig               \
+                               /usr/lib/mips64el-linux-gnuabi64/pkgconfig      \
+                               /usr/lib/mipsel-linux-gnu/pkgconfig             \
+                               /usr/lib/powerpc64le-linux-gnu/pkgconfig        \
+                               /usr/lib/s390x-linux-gnu/pkgconfig
+
+.for _var_ in ${BUILTIN_FIND_PKGCONFIG_FILES_VAR}
+.  if !defined(${_var_})
+${_var_}= __nonexistent__
+.    for _file_ in ${BUILTIN_FIND_PKGCONFIG_FILES.${_var_}}
+.      for _dir_ in ${BUILTIN_PKGCONFIG_DIRS}
+.        if !empty(${_var_}:M__nonexistent__) && exists(${_dir_}/${_file_})
+${_var_}= ${_dir_}/${_file_}
+.        endif
+.      endfor
+.    endfor
+.  endif
+MAKEVARS+=     ${_var_}
+.endfor



Home | Main Index | Thread Index | Old Index