Skip to content

Commit

Permalink
[liburing] create a new port (#17623)
Browse files Browse the repository at this point in the history
* [liburing] create a new port

* [liburing] patch datadir

* [liburing] add port usage

* with CMake module: FindPkgConfig

* Update ports/liburing/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* [liburing] comments for BUILD_SHARED

* update git-tree SHA

* [liburing] fix portfile

* [liburing] configure with ENABLE_SHARED

* update git-tree SHA

* Update ports/liburing/usage

* [liburing] fix mistype in usage

* update git-tree SHA

Co-authored-by: NancyLi1013 <[email protected]>
Co-authored-by: nicole mazzuca <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>
  • Loading branch information
4 people authored Jul 16, 2021
1 parent 588b1e6 commit bbe9763
Show file tree
Hide file tree
Showing 7 changed files with 107 additions and 0 deletions.
35 changes: 35 additions & 0 deletions ports/liburing/fix-configure.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
diff --git a/configure b/configure
index 3b96cde..56d5cb0 100755
--- a/configure
+++ b/configure
@@ -18,16 +18,18 @@ for opt do
;;
--mandir=*) mandir="$optarg"
;;
- --datadir=*) datadir="$optarg"
+ --datarootdir=*) datadir="$optarg"
;;
--cc=*) cc="$optarg"
;;
--cxx=*) cxx="$optarg"
;;
+ --enable-shared) ENABLE_SHARED=1
+ ;;
+ --enable-static) ENABLE_SHARED=0
+ ;;
*)
- echo "ERROR: unknown option $opt"
- echo "Try '$0 --help' for more information"
- exit 1
+ echo "WARNING: unknown option $opt"
;;
esac
done
@@ -119,6 +121,7 @@ echo "# Automatically generated by configure - do not modify" > $config_host_mak
printf "# Configured with:" >> $config_host_mak
printf " '%s'" "$0" "$@" >> $config_host_mak
echo >> $config_host_mak
+echo "ENABLE_SHARED=${ENABLE_SHARED}" >> $config_host_mak

do_cxx() {
# Run the compiler, capturing its output to the log.
11 changes: 11 additions & 0 deletions ports/liburing/fix-spec-version.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
diff --git a/liburing.spec b/liburing.spec
index fa4d970..8607074 100644
--- a/liburing.spec
+++ b/liburing.spec
@@ -1,5 +1,5 @@
Name: liburing
-Version: 0.7
+Version: 2.0
Release: 1%{?dist}
Summary: Linux-native io_uring I/O access library
License: (GPLv2 with exceptions and LGPLv2+) or MIT
35 changes: 35 additions & 0 deletions ports/liburing/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
vcpkg_fail_port_install(ON_TARGET "windows" "uwp" "osx" "ios" "android")

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO axboe/liburing
REF liburing-2.0
SHA512 8a7b37600246d44a94d3fed1ca4bb60e76f9ddc60bd3c237e600b60e77961a1125c8a1f230cb7569f959acf10b68b91aafb4935c1c2fd13d5df7373b374e47f5
HEAD_REF master
PATCHES
fix-spec-version.patch # update version value for pkgconfig(.pc) files
fix-configure.patch # ignore unsupported options, handle ENABLE_SHARED
)

# note: check ${SOURCE_PATH}/liburing.spec before updating configure options
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
COPY_SOURCE
NO_DEBUG
)
vcpkg_install_make()
vcpkg_fixup_pkgconfig()

file(INSTALL ${SOURCE_PATH}/LICENSE
DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL ${CURRENT_PORT_DIR}/usage
DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})

# note: {SOURCE_PATH}/src/Makefile makes liburing.so from liburing.a.
# For dynamic, remove intermediate file liburing.a when install is finished.
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/liburing.a
${CURRENT_PACKAGES_DIR}/lib/liburing.a
)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man)
6 changes: 6 additions & 0 deletions ports/liburing/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
The package liburing can be imported via CMake FindPkgConfig module:

include(FindPkgConfig)
pkg_check_modules(liburing REQUIRED IMPORTED_TARGET GLOBAL liburing>=2.0)

target_link_libraries(main PRIVATE PkgConfig::liburing)
7 changes: 7 additions & 0 deletions ports/liburing/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "liburing",
"version": "2.0",
"description": "Linux-native io_uring I/O access library",
"homepage": "https://github.com/axboe/liburing",
"supports": "linux"
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -3668,6 +3668,10 @@
"baseline": "4.3-0",
"port-version": 0
},
"liburing": {
"baseline": "2.0",
"port-version": 0
},
"libusb": {
"baseline": "1.0.24",
"port-version": 4
Expand Down
9 changes: 9 additions & 0 deletions versions/l-/liburing.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "b4d90242721d15d6dc5287690c3b8d42c2e8d0f0",
"version": "2.0",
"port-version": 0
}
]
}

0 comments on commit bbe9763

Please sign in to comment.