From 71e3fee3622a65e4ace3ac0b95e2133ff3015e1f Mon Sep 17 00:00:00 2001 From: Igor Bezzubchenko Date: Thu, 31 Dec 2020 00:46:09 +0300 Subject: [PATCH 1/2] libpqxx: adding Makefile, Config.in and patch Signed-off-by: Igor Bezzubchenko --- libs/libpqxx/Config.in | 26 +++++++++ libs/libpqxx/Makefile | 53 +++++++++++++++++++ .../patches/100-install-test-executor.patch | 10 ++++ 3 files changed, 89 insertions(+) create mode 100644 libs/libpqxx/Config.in create mode 100644 libs/libpqxx/Makefile create mode 100644 libs/libpqxx/patches/100-install-test-executor.patch diff --git a/libs/libpqxx/Config.in b/libs/libpqxx/Config.in new file mode 100644 index 000000000..c8407d87a --- /dev/null +++ b/libs/libpqxx/Config.in @@ -0,0 +1,26 @@ +menu "Options" + depends on PACKAGE_libpqxx + +config LIBPQXX_STATIC + bool "Build static library" + default y + help + Build static (.a) library + +config LIBPQXX_SHARED + bool "Build and install shared library" + default n + help + Build and install shared (.so) library + +config LIBPQXX_INSTALL_TEST + bool "Build and install test suite" + default n + depends on LIBPQXX_STATIC || LIBPQXX_SHARED + help + Build and install a test suite against a real server. + One can run this suite on a target platform to ensure + that the library is built the way it should and operating + correctly. + +endmenu diff --git a/libs/libpqxx/Makefile b/libs/libpqxx/Makefile new file mode 100644 index 000000000..a9789a74b --- /dev/null +++ b/libs/libpqxx/Makefile @@ -0,0 +1,53 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=libpqxx +PKG_VERSION:=7.3.0 +PKG_RELEASE:=1 +PKG_INSTALL:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/jtv/libpqxx +PKG_SOURCE_VERSION:=$(PKG_VERSION) +PKG_MIRROR_HASH:=c176771dbbf02e38b84a8f9bf986a83587e2d86d9e0d2238e2a17a036e865951 + +CMAKE_INSTALL:=1 + +PKG_MAINTAINER:=Igor Bezzubchenko + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/libpqxx + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=+libpq +libstdcpp + TITLE:=PostgreSQL client library (C++ interface) + URL:=http://pqxx.org/development/libpqxx + SUBMENU:=Database +endef + +define Package/libpqxx/config + source "$(SOURCE)/Config.in" +endef + +CMAKE_OPTIONS += \ + -DBUILD_DOC=off \ + $(if $(CONFIG_LIBPQXX_STATIC), -DBUILD_STATIC_LIBS=on) \ + $(if $(CONFIG_LIBPQXX_SHARED), -DBUILD_SHARED_LIBS=on) + +ifeq ($(CONFIG_LIBPQXX_INSTALL_TEST),y) + CMAKE_OPTIONS += -DINSTALL_TEST=on -DSKIP_BUILD_TEST=off +else + CMAKE_OPTIONS += -DINSTALL_TEST=off -DSKIP_BUILD_TEST=on +endif + +define Package/libpqxx/install + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/bin + $(if $(CONFIG_LIBPQXX_SHARED), \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpqxx*.so $(1)/usr/lib/) + $(if $(CONFIG_LIBPQXX_INSTALL_TEST), \ + $(CP) $(PKG_INSTALL_DIR)/usr/bin/libpqxx* $(1)/usr/bin/) +endef + +$(eval $(call BuildPackage,libpqxx)) diff --git a/libs/libpqxx/patches/100-install-test-executor.patch b/libs/libpqxx/patches/100-install-test-executor.patch new file mode 100644 index 000000000..d9eb3ff68 --- /dev/null +++ b/libs/libpqxx/patches/100-install-test-executor.patch @@ -0,0 +1,10 @@ +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -14,3 +14,7 @@ add_test( + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + COMMAND runner + ) ++ ++if(INSTALL_TEST) ++ install(PROGRAMS runner TYPE BIN RENAME libpqxx-test-runner) ++endif() From de1aefad43ee798f07a8436e2faddd1ae634f4f0 Mon Sep 17 00:00:00 2001 From: Igor Bezzubchenko Date: Sat, 2 Jan 2021 22:08:18 +0300 Subject: [PATCH 2/2] libpqxx: fixed review comments Removed PKG_INSTALL Capitalized options Use inline `if` instead of blocks Signed-off-by: Igor Bezzubchenko --- libs/libpqxx/Makefile | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libs/libpqxx/Makefile b/libs/libpqxx/Makefile index a9789a74b..87ee10aa9 100644 --- a/libs/libpqxx/Makefile +++ b/libs/libpqxx/Makefile @@ -3,7 +3,6 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libpqxx PKG_VERSION:=7.3.0 PKG_RELEASE:=1 -PKG_INSTALL:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/jtv/libpqxx @@ -31,15 +30,13 @@ define Package/libpqxx/config endef CMAKE_OPTIONS += \ - -DBUILD_DOC=off \ - $(if $(CONFIG_LIBPQXX_STATIC), -DBUILD_STATIC_LIBS=on) \ - $(if $(CONFIG_LIBPQXX_SHARED), -DBUILD_SHARED_LIBS=on) - -ifeq ($(CONFIG_LIBPQXX_INSTALL_TEST),y) - CMAKE_OPTIONS += -DINSTALL_TEST=on -DSKIP_BUILD_TEST=off -else - CMAKE_OPTIONS += -DINSTALL_TEST=off -DSKIP_BUILD_TEST=on -endif + -DBUILD_DOC=OFF \ + -DBUILD_STATIC_LIBS=O$(if $(CONFIG_LIBPQXX_STATIC),N,FF) \ + -DBUILD_SHARED_LIBS=O$(if $(CONFIG_LIBPQXX_SHARED),N,FF) \ + $(if $(CONFIG_LIBPQXX_INSTALL_TEST),\ + -DINSTALL_TEST=ON -DSKIP_BUILD_TEST=OFF, \ + -DINSTALL_TEST=OFF -DSKIP_BUILD_TEST=ON \ + ) define Package/libpqxx/install $(INSTALL_DIR) $(1)/usr/lib