0
0
mirror of https://github.com/openwrt/packages.git synced 2025-07-30 01:00:21 +00:00
Files
packages/libs/libmaxminddb/Makefile
Robert Marko 4d8a9a44c3 libmaxminddb: fixup lib and include dirs in pkg-config
libmaxminddb has switched to using CMAKE_INSTALL_PREFIX,
CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR for generating the
pkg-config in upstream commit [1] and thus broke pkg-config file
generation in openwrt.

It would generate:
prefix=/usr
exec_prefix=/usr
libdir=lib
includedir=include

Obviously libdir and includedirs are incorrect for OpenWrt and this
would then cause pdns compilation to fail if geoip backend was enabled
since it uses pkg-config to get the required flags and passing just
lib for LDFLAGS would cause libtool to error out since that path is not
valid.

So, lets use SED magic to replace libdir and includedir with the correct
paths, so now pkg-config looks like:
prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

[1] 8b4bf0dec9

Fixes: 9f7357880f ("libmaxminddb: update to 1.11.0")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-14 21:59:46 +02:00

60 lines
1.8 KiB
Makefile

#
# Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libmaxminddb
PKG_VERSION:=1.11.0
PKG_RELEASE=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/maxmind/libmaxminddb/releases/download/$(PKG_VERSION)
PKG_HASH:=b2eea79a96fed77ad4d6c39ec34fed83d45fcb75a31c58956813d58dcf30b19f
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:maxmind:libmaxminddb
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/libmaxminddb
SECTION:=libs
CATEGORY:=Libraries
TITLE:=A library for working with MaxMind DB files
URL:=https://maxmind.github.io/libmaxminddb/
endef
define Package/libmaxminddb/description
The libmaxminddb library provides functions for working MaxMind DB files.
endef
CMAKE_OPTIONS += \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmaxminddb.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libmaxminddb.pc $(1)/usr/lib/pkgconfig
$(SED) 's,libdir=lib,libdir=$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libmaxminddb.pc
$(SED) 's,includedir=include,includedir=$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libmaxminddb.pc
endef
define Package/libmaxminddb/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mmdblookup $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmaxminddb.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libmaxminddb))