From 2f008f486a504254ec292bc4dce7a982a2fbed6c Mon Sep 17 00:00:00 2001 From: Michael Moll Date: Fri, 11 Sep 2015 10:51:31 +0000 Subject: [PATCH] new port: sysutils/facter Facter is Puppet's cross-platform system profiling library. While former versions (sysutils/rubygem-facter) were written in Ruby, this version is written in C++11. FreeBSD support in the upstream sources is sparse and DragonFly is not supported at all for the moment. WWW: https://puppetlabs.com/facter Reviewed by: mat Differential Revision: https://reviews.freebsd.org/D3579 --- MOVED | 1 - sysutils/Makefile | 1 + sysutils/facter/Makefile | 32 +++++++++++++++++++ sysutils/facter/distinfo | 2 ++ sysutils/facter/files/patch-CMakeLists.txt | 8 +++++ .../facter/files/patch-lib_CMakeLists.txt | 11 +++++++ ...patch-vendor_leatherman_cmake_cflags.cmake | 10 ++++++ sysutils/facter/pkg-descr | 6 ++++ sysutils/facter/pkg-plist | 31 ++++++++++++++++++ 9 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 sysutils/facter/Makefile create mode 100644 sysutils/facter/distinfo create mode 100644 sysutils/facter/files/patch-CMakeLists.txt create mode 100644 sysutils/facter/files/patch-lib_CMakeLists.txt create mode 100644 sysutils/facter/files/patch-vendor_leatherman_cmake_cflags.cmake create mode 100644 sysutils/facter/pkg-descr create mode 100644 sysutils/facter/pkg-plist diff --git a/MOVED b/MOVED index 3fe051940694..60e326bd0838 100644 --- a/MOVED +++ b/MOVED @@ -4139,7 +4139,6 @@ net-mgmt/zabbix-frontend|net-mgmt/zabbix2-frontend|2013-03-15|Has expired: no lo net-mgmt/zabbix-proxy|net-mgmt/zabbix2-proxy|2013-03-15|Has expired: no longer supported by upstream net-mgmt/zabbix-server|net-mgmt/zabbix2-server|2013-03-15|Has expired: no longer supported by upstream dns/h2n||2013-03-17|Removed: legally questionable and obsolete -sysutils/facter|sysutils/rubygem-facter|2013-03-17|Renamed to match naming convention for rubygems french/gibi||2013-03-18|Removed: IGNORE for more than 6 months finance/pfpro||2013-03-18|Removed: upstream no longer exists finance/p5-PFProAPI||2013-03-18|Removed: upstream no longer exists diff --git a/sysutils/Makefile b/sysutils/Makefile index 31bbc35f0bc4..c376eb4a87dd 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -245,6 +245,7 @@ SUBDIR += extipl SUBDIR += ezjail SUBDIR += f3 + SUBDIR += facter SUBDIR += fanout SUBDIR += farbot SUBDIR += fastest_cvsup diff --git a/sysutils/facter/Makefile b/sysutils/facter/Makefile new file mode 100644 index 000000000000..6f8725d35a3d --- /dev/null +++ b/sysutils/facter/Makefile @@ -0,0 +1,32 @@ +# $FreeBSD$ + +PORTNAME= facter +PORTVERSION= 3.0.2 +CATEGORIES= sysutils +MASTER_SITES= http://downloads.puppetlabs.com/facter/ + +MAINTAINER= mmoll@FreeBSD.org +COMMENT= Cross-platform Ruby library for retrieving facts from OS + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libboost_system.so:${PORTSDIR}/devel/boost-libs \ + libyaml-cpp.so:${PORTSDIR}/devel/yaml-cpp + +USE_LDCONFIG= yes +USE_RUBY= yes +USES= cmake compiler:c++11-lib +CMAKE_ARGS+= -DMAN_PATH=${MANPREFIX}/man + +CONFLICTS_INSTALL= rubygem-facter-2* + +BROKEN_DragonFly= DragonFly is not supported upstream + +.include + +.if ${OPSYS} == FreeBSD && ${COMPILER_FEATURES:Mlibstdc++} +BROKEN= Build with system libstdc++ is unsupported +.endif + +.include diff --git a/sysutils/facter/distinfo b/sysutils/facter/distinfo new file mode 100644 index 000000000000..00088a35c14e --- /dev/null +++ b/sysutils/facter/distinfo @@ -0,0 +1,2 @@ +SHA256 (facter-3.0.2.tar.gz) = 2fee1ee938196790f24b7b876ff04a5d69c0ac1492ff6935b003ae23500eced7 +SIZE (facter-3.0.2.tar.gz) = 508583 diff --git a/sysutils/facter/files/patch-CMakeLists.txt b/sysutils/facter/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..624b10c8adf1 --- /dev/null +++ b/sysutils/facter/files/patch-CMakeLists.txt @@ -0,0 +1,8 @@ +--- CMakeLists.txt.orig 2015-07-23 12:50:51 UTC ++++ CMakeLists.txt +@@ -169,4 +169,4 @@ endif() + add_test(NAME "facter\\ smoke" COMMAND facter) + + # Install the man page +-install(FILES ${PROJECT_SOURCE_DIR}/man/man8/facter.8 DESTINATION share/man/man8/) ++install(FILES ${PROJECT_SOURCE_DIR}/man/man8/facter.8 DESTINATION man/man8/) diff --git a/sysutils/facter/files/patch-lib_CMakeLists.txt b/sysutils/facter/files/patch-lib_CMakeLists.txt new file mode 100644 index 000000000000..4d1c4a7e14dc --- /dev/null +++ b/sysutils/facter/files/patch-lib_CMakeLists.txt @@ -0,0 +1,11 @@ +--- lib/CMakeLists.txt.orig 2015-07-21 17:31:28 UTC ++++ lib/CMakeLists.txt +@@ -115,7 +115,7 @@ if (UNIX) + set(LIBFACTER_STANDARD_SOURCES ${LIBFACTER_STANDARD_SOURCES} "src/util/posix/scoped_bio.cc") + endif() + +- set(POSIX_LIBRARIES pthread dl) ++ set(POSIX_LIBRARIES pthread) + endif() + + if (WIN32) diff --git a/sysutils/facter/files/patch-vendor_leatherman_cmake_cflags.cmake b/sysutils/facter/files/patch-vendor_leatherman_cmake_cflags.cmake new file mode 100644 index 000000000000..7b72faf18f4e --- /dev/null +++ b/sysutils/facter/files/patch-vendor_leatherman_cmake_cflags.cmake @@ -0,0 +1,10 @@ +--- vendor/leatherman/cmake/cflags.cmake.orig 2015-07-21 17:31:29 UTC ++++ vendor/leatherman/cmake/cflags.cmake +@@ -21,6 +21,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL + else() + set(LEATHERMAN_CXX_FLAGS "${LEATHERMAN_CXX_FLAGS} -Wno-deprecated") + endif() ++ set(LEATHERMAN_LIBRARY_FLAGS "-fPIC") + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + # maybe-uninitialized is a relatively new GCC warning that Boost 1.57 violates; disable it for now until it's available in Clang as well + # it's also sometimes wrong diff --git a/sysutils/facter/pkg-descr b/sysutils/facter/pkg-descr new file mode 100644 index 000000000000..c1dbf17ab7ff --- /dev/null +++ b/sysutils/facter/pkg-descr @@ -0,0 +1,6 @@ +Facter is Puppet's cross-platform system profiling library. + +It discovers and reports per-node facts, which are +available in your Puppet manifests as variables. + +WWW: https://puppetlabs.com/facter diff --git a/sysutils/facter/pkg-plist b/sysutils/facter/pkg-plist new file mode 100644 index 000000000000..30a3706c46c4 --- /dev/null +++ b/sysutils/facter/pkg-plist @@ -0,0 +1,31 @@ +bin/facter +include/facter/execution/execution.hpp +include/facter/export.h +include/facter/facts/array_value.hpp +include/facter/facts/collection.hpp +include/facter/facts/external/resolver.hpp +include/facter/facts/fact.hpp +include/facter/facts/map_value.hpp +include/facter/facts/os.hpp +include/facter/facts/os_family.hpp +include/facter/facts/resolver.hpp +include/facter/facts/scalar_value.hpp +include/facter/facts/value.hpp +include/facter/facts/vm.hpp +include/facter/http/client.hpp +include/facter/http/request.hpp +include/facter/http/response.hpp +include/facter/logging/logging.hpp +include/facter/ruby/ruby.hpp +include/facter/util/directory.hpp +include/facter/util/environment.hpp +include/facter/util/file.hpp +include/facter/util/option_set.hpp +include/facter/util/scope_exit.hpp +include/facter/util/scoped_resource.hpp +include/facter/util/string.hpp +include/facter/version.h +lib/libfacter.so +lib/libfacter.so.3.0.2 +lib/ruby/vendor_ruby/facter.rb +man/man8/facter.8.gz