From 7ab13e4d6902a2871f5ac3325e64fa6aafdf94c1 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 28 Apr 2021 22:50:45 +0200 Subject: [PATCH] [pkgconf] Add new port (#17488) * add new port pkgconf * version stuff * reformat manifest * update version * add supports field * version stuff again --- ports/pkgconf/fix-static-builds.patch | 54 +++++++++++++++++++++++++++ ports/pkgconf/portfile.cmake | 23 ++++++++++++ ports/pkgconf/vcpkg.json | 7 ++++ versions/baseline.json | 4 ++ versions/p-/pkgconf.json | 9 +++++ 5 files changed, 97 insertions(+) create mode 100644 ports/pkgconf/fix-static-builds.patch create mode 100644 ports/pkgconf/portfile.cmake create mode 100644 ports/pkgconf/vcpkg.json create mode 100644 versions/p-/pkgconf.json diff --git a/ports/pkgconf/fix-static-builds.patch b/ports/pkgconf/fix-static-builds.patch new file mode 100644 index 00000000000000..88a0b375c9bcdd --- /dev/null +++ b/ports/pkgconf/fix-static-builds.patch @@ -0,0 +1,54 @@ +diff --git a/libpkgconf.pc.in b/libpkgconf.pc.in +index d278136e3..ef0c7db5f 100644 +--- a/libpkgconf.pc.in ++++ b/libpkgconf.pc.in +@@ -8,4 +8,4 @@ Description: a library for accessing and manipulating development framework conf + URL: http://github.com/pkgconf/pkgconf + Version: @PACKAGE_VERSION@ + CFlags: -I${includedir}/pkgconf +-Libs: -L${libdir} -lpkgconf ++Libs: -L${libdir} -lpkgconf @build_static@ +diff --git a/meson.build b/meson.build +index e7822b8da..8f7aa0075 100644 +--- a/meson.build ++++ b/meson.build +@@ -45,6 +45,13 @@ cdata.set('abs_top_builddir', meson.build_root()) + + subdir('libpkgconf') + ++libtype = get_option('default_library') ++if libtype == 'static' ++ build_static = '-DPKGCONFIG_IS_STATIC' ++else ++ build_static = '' ++endif ++ + libpkgconf = library('pkgconf', + 'libpkgconf/argvsplit.c', + 'libpkgconf/audit.c', +@@ -60,7 +67,7 @@ libpkgconf = library('pkgconf', + 'libpkgconf/pkg.c', + 'libpkgconf/queue.c', + 'libpkgconf/tuple.c', +- c_args: '-DLIBPKGCONF_EXPORT', ++ c_args: ['-DLIBPKGCONF_EXPORT', build_static], + install : true, + version : '3.0.0', + soversion : '3', +@@ -73,13 +80,16 @@ pkg.generate(libpkgconf, + url: 'http://github.com/pkgconf/pkgconf', + filebase : 'libpkgconf', + subdirs: ['pkgconf'], ++ extra_cflags : build_static + ) + ++ + pkgconf_exe = executable('pkgconf', + 'cli/main.c', + 'cli/getopt_long.c', + 'cli/renderer-msvc.c', + link_with : libpkgconf, ++ c_args: build_static, + install : true) + + if get_option('tests') diff --git a/ports/pkgconf/portfile.cmake b/ports/pkgconf/portfile.cmake new file mode 100644 index 00000000000000..5daa05b65b4869 --- /dev/null +++ b/ports/pkgconf/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pkgconf/pkgconf + REF 458101e787a47378d2fc74c64f649fd3a5f75e55 + SHA512 36a68c7f452752ddfa7f4740f77277bcea0c1c2c70d36d48e74ac3f77d082771253eb9b78fcd097f55cac425cecabab163123103452ddf16bff7280254c6a715 + HEAD_REF master + PATCHES fix-static-builds.patch +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -Dtests=false + ) +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +vcpkg_copy_tools(TOOL_NAMES pkgconf AUTO_CLEAN) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/pkgconf/vcpkg.json b/ports/pkgconf/vcpkg.json new file mode 100644 index 00000000000000..247c50300ea0c3 --- /dev/null +++ b/ports/pkgconf/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "pkgconf", + "version": "1.7.4", + "description": "pkgconf is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org.", + "homepage": "https://github.com/pkgconf/pkgconf", + "supports": "!uwp" +} diff --git a/versions/baseline.json b/versions/baseline.json index 7123db77d5b235..e7e4eaeb01877e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4760,6 +4760,10 @@ "baseline": "0.40.0", "port-version": 0 }, + "pkgconf": { + "baseline": "1.7.4", + "port-version": 0 + }, "platform-folders": { "baseline": "4.0.0", "port-version": 6 diff --git a/versions/p-/pkgconf.json b/versions/p-/pkgconf.json new file mode 100644 index 00000000000000..6b14e2c55eb710 --- /dev/null +++ b/versions/p-/pkgconf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "75fe71378e6521fe0e14a82218a9430c831b9809", + "version": "1.7.4", + "port-version": 0 + } + ] +}