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()