[libmount] New port (#21491)

* [libmount] new port

* [libmount] update versions

* [kf5solid] add libmount feature

* [kf5solid] update versions

* [kf5kio] add libmount dependency

* [kf5kio] update versions

* [libmount] Remove libmount-dev from Linux CI image

* [glib] Add libmount feature

* [glib] update versions

* [ECM] fix linking against static LibMount

* [ECM] update versions

* [kf5solid] make libmount feature a default on Linux

* [kf5solid, kf5kio] update versions
This commit is contained in:
Dawid Wróbel 2021-11-24 05:54:53 +01:00 committed by GitHub
parent 8e4cfac84b
commit a2fcb03749
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 160 additions and 14 deletions

View File

@ -0,0 +1,23 @@
diff --git a/find-modules/FindLibMount.cmake b/find-modules/FindLibMount.cmake
index 3fcde4c5435a79c61c53bbd27e1932441a056d98..1f53f0218faa82fdf9713ab768080ab7c1d72b4a 100644
--- a/find-modules/FindLibMount.cmake
+++ b/find-modules/FindLibMount.cmake
@@ -30,7 +30,7 @@ Since 5.83.0
#]=======================================================================]
find_package(PkgConfig QUIET)
-pkg_check_modules(PC_LIBMOUNT QUIET mount)
+pkg_check_modules(PC_LIBMOUNT QUIET IMPORTED_TARGET mount)
find_path(LibMount_INCLUDE_DIRS NAMES libmount/libmount.h HINTS ${PC_LIBMOUNT_INCLUDE_DIRS})
find_library(LibMount_LIBRARIES NAMES mount HINTS ${PC_LIBMOUNT_LIBRARY_DIRS})
@@ -62,6 +62,9 @@ if(LibMount_FOUND AND NOT TARGET LibMount::LibMount)
INTERFACE_INCLUDE_DIRECTORIES "${LibMount_INCLUDE_DIRS}"
INTERFACE_COMPILE_DEFINITIONS "${PC_LIBMOUNT_CFLAGS_OTHER}"
)
+ if (TARGET PkgConfig::PC_LIBMOUNT)
+ target_link_libraries(LibMount::LibMount INTERFACE PkgConfig::PC_LIBMOUNT)
+ endif()
endif()
include(FeatureSummary)

View File

@ -5,7 +5,8 @@ vcpkg_from_github(
SHA512 d49397bcf0d49a95c86c9d9a4e653015ee8b3ef1261b2842439bba7ff3363ac06351fa2df4035c2cb36397d2fc64375a14966ada29f231df51ba26d8e196d6ef
HEAD_REF master
PATCHES
fix_canberra.patch
fix_canberra.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/187
fix_libmount.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/200
fix_python_version.patch # Remove on next release
)

View File

@ -1,7 +1,7 @@
{
"name": "ecm",
"version": "5.84.0",
"port-version": 2,
"port-version": 3,
"description": "Extra CMake Modules (ECM), extra modules and scripts for CMake",
"homepage": "https://github.com/KDE/extra-cmake-modules",
"dependencies": [

View File

@ -33,6 +33,12 @@ else()
list(APPEND OPTIONS -Dselinux=disabled)
endif()
if (libmount IN_LIST FEATURES)
list(APPEND OPTIONS -Dlibmount=enabled)
else()
list(APPEND OPTIONS -Dlibmount=disabled)
endif()
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND OPTIONS -Diconv=external)
else()
@ -49,7 +55,6 @@ vcpkg_configure_meson(
)
#-Dnls=true
#-Dlibelf=false
#-Dlibmount=false
#-Dxattr=true?
vcpkg_install_meson(ADD_BIN_TO_PATH)

View File

@ -1,7 +1,7 @@
{
"name": "glib",
"version": "2.66.4",
"port-version": 1,
"port-version": 2,
"description": "Portable, general-purpose utility library.",
"homepage": "https://developer.gnome.org/glib/",
"supports": "!uwp & !(windows & static)",
@ -15,6 +15,13 @@
"zlib"
],
"features": {
"libmount": {
"description": "Build with libmount support.",
"supports": "linux",
"dependencies": [
"libmount"
]
},
"selinux": {
"description": "Build with selinux support."
}

View File

@ -1,6 +1,7 @@
{
"name": "kf5kio",
"version": "5.84.0",
"port-version": 1,
"description": "Network transparent access to files and data",
"homepage": "https://api.kde.org/frameworks/kio/html/index.html",
"dependencies": [
@ -39,6 +40,10 @@
"name": "libiconv",
"platform": "windows & static"
},
{
"name": "libmount",
"platform": "linux"
},
"qt5-base",
{
"name": "qt5-macextras",

View File

@ -37,11 +37,15 @@ vcpkg_add_to_path(PREPEND "${BISON_DIR}")
# Prevent KDEClangFormat from writing to source effectively blocking parallel configure
file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n")
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
INVERTED_FEATURES
"libmount" CMAKE_DISABLE_FIND_PACKAGE_LibMount
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_TESTING=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_LibMount=ON
)
vcpkg_cmake_install()

View File

@ -1,7 +1,7 @@
{
"name": "kf5solid",
"version": "5.84.0",
"port-version": 3,
"port-version": 4,
"description": "Desktop hardware abstraction",
"homepage": "https://api.kde.org/frameworks/solid/html/index.html",
"dependencies": [
@ -16,5 +16,29 @@
"name": "vcpkg-cmake-config",
"host": true
}
]
],
"default-features": [
"platform-default-features"
],
"features": {
"libmount": {
"description": "Used by the UDisks backend on Linux",
"supports": "linux",
"dependencies": [
"libmount"
]
},
"platform-default-features": {
"description": "Enable platform-dependent default features",
"dependencies": [
{
"name": "kf5solid",
"features": [
"libmount"
],
"platform": "linux"
}
]
}
}
}

View File

@ -0,0 +1,40 @@
set(VERSION_MAJOR 2)
set(VERSION_MINOR 37)
set(VERSION_PATCH 2)
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
vcpkg_download_distfile(ARCHIVE
URLS "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${VERSION_MAJOR}.${VERSION_MINOR}/util-linux-${VERSION}.tar.xz"
FILENAME "util-linux-${VERSION}.tar.xz"
SHA512 38f0fe820445e3bfa79550e6581c230f98c7661566ccc4daa51c7208a5f972c61b4e57dfc86bed074fdbc7c40bc79f856be8f6a05a8860c1c0cecc4208e8b81d
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE "${ARCHIVE}"
REF ${VERSION}
)
vcpkg_configure_make(
AUTOCONFIG
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
--disable-asciidoc
--disable-all-programs
--enable-libmount
--enable-libblkid
)
vcpkg_install_make()
vcpkg_fixup_pkgconfig()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/sbin" "${CURRENT_PACKAGES_DIR}/debug/sbin")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools") # empty folder
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -0,0 +1,7 @@
{
"name": "libmount",
"version": "2.37.2",
"description": "Block device identification library from util-linux",
"homepage": "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/about/",
"supports": "linux"
}

View File

@ -51,9 +51,6 @@ APT_PACKAGES="$APT_PACKAGES guile-2.2-dev"
# Additionally required by gtk
APT_PACKAGES="$APT_PACKAGES libxdamage-dev"
# Additionally required by kf5kio
APT_PACKAGES="$APT_PACKAGES libmount-dev"
# Additionally required/installed by Azure DevOps Scale Set Agents
APT_PACKAGES="$APT_PACKAGES liblttng-ust0 libkrb5-3 zlib1g libicu66"

View File

@ -1966,7 +1966,7 @@
},
"ecm": {
"baseline": "5.84.0",
"port-version": 2
"port-version": 3
},
"ecos": {
"baseline": "2.0.8",
@ -2466,7 +2466,7 @@
},
"glib": {
"baseline": "2.66.4",
"port-version": 1
"port-version": 2
},
"glibmm": {
"baseline": "2.68.1",
@ -3118,7 +3118,7 @@
},
"kf5kio": {
"baseline": "5.84.0",
"port-version": 0
"port-version": 1
},
"kf5newstuff": {
"baseline": "5.84.0",
@ -3142,7 +3142,7 @@
},
"kf5solid": {
"baseline": "5.84.0",
"port-version": 3
"port-version": 4
},
"kf5sonnet": {
"baseline": "5.84.0",
@ -3664,6 +3664,10 @@
"baseline": "0.2.8",
"port-version": 0
},
"libmount": {
"baseline": "2.37.2",
"port-version": 0
},
"libmpeg2": {
"baseline": "0.5.1",
"port-version": 1

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "edf27dcd688fc8cfd8a1c6dedddc3cfb0cb1556e",
"version": "5.84.0",
"port-version": 3
},
{
"git-tree": "e01bd7b91852c7fa2dffc588bad45167d8d45c6b",
"version": "5.84.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c8d7eeabc89610c8b583c319b572b16e07f3f035",
"version": "2.66.4",
"port-version": 2
},
{
"git-tree": "6207d9439567fbbc29f4468c831ef7c1fa2e6181",
"version": "2.66.4",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "624eb17608cec7afe4c30bef29e16e18fe8d973e",
"version": "5.84.0",
"port-version": 1
},
{
"git-tree": "4a9411ad4abdf7acb9b7a7ef98dd9b966f8b58d5",
"version": "5.84.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8b7f9e0e31cd5fd3a2720a8e71b1aa52b123cf98",
"version": "5.84.0",
"port-version": 4
},
{
"git-tree": "77af969f1b19c937d7f41651b657a774cd3802c7",
"version": "5.84.0",

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "0f746b3d702445fd2de54c25c08491cdaae45810",
"version": "2.37.2",
"port-version": 0
}
]
}