aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackBoosY <47264268+JackBoosY@users.noreply.github.com>2019-09-26 03:19:45 +0800
committerdan-shaw <51385773+dan-shaw@users.noreply.github.com>2019-09-25 12:19:45 -0700
commit2419d391602f6cfbcf88cfb29b3709690086639a (patch)
tree79a160099385bf28caa24b7c5e85437eca762fa8
parent39104b476135716e6304cb3ba316499720589449 (diff)
downloadvcpkg-2419d391602f6cfbcf88cfb29b3709690086639a.tar.gz
vcpkg-2419d391602f6cfbcf88cfb29b3709690086639a.zip
[libosip2]Add new port. (#8261)
* [libosip2]Add new port. * [libosip2]Use macro LIBOSIP2_VER.
-rw-r--r--ports/libosip2/CONTROL4
-rw-r--r--ports/libosip2/portfile.cmake73
2 files changed, 77 insertions, 0 deletions
diff --git a/ports/libosip2/CONTROL b/ports/libosip2/CONTROL
new file mode 100644
index 000000000..6ec6246eb
--- /dev/null
+++ b/ports/libosip2/CONTROL
@@ -0,0 +1,4 @@
+Source: libosip2
+Version: 5.1.0
+Homepage: https://www.gnu.org/software/osip/
+Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation. \ No newline at end of file
diff --git a/ports/libosip2/portfile.cmake b/ports/libosip2/portfile.cmake
new file mode 100644
index 000000000..145c771d5
--- /dev/null
+++ b/ports/libosip2/portfile.cmake
@@ -0,0 +1,73 @@
+include(vcpkg_common_functions)
+
+set(LIBOSIP2_VER "5.1.0")
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ message(FATAL_ERROR "libosio2 only support unix currently.")
+endif()
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://ftp.gnu.org/gnu/osip/libosip2-${LIBOSIP2_VER}.tar.gz"
+ FILENAME "libosip2-${LIBOSIP2_VER}.tar.gz"
+ SHA512 391c9a0ea399f789d7061b0216d327eecba5bbf0429659f4f167604b9e703e1678ba6f58079aa4f84b3636a937064ecfb92e985368164fcb679e95654e43d65b
+)
+
+vcpkg_extract_source_archive_ex(
+ ARCHIVE ${ARCHIVE}
+ OUT_SOURCE_PATH SOURCE_PATH
+)
+
+find_program(autoreconf autoreconf)
+if (NOT autoreconf)
+ message(FATAL_ERROR "autoreconf must be installed before libx11 can build. Install them with \"apt-get dh-autoreconf\".")
+endif()
+
+find_program(MAKE make)
+if (NOT MAKE)
+ message(FATAL_ERROR "MAKE not found")
+endif()
+
+vcpkg_execute_required_process(
+ COMMAND "./autogen.sh"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME autoreconf-${TARGET_TRIPLET}
+)
+
+message(STATUS "Configuring ${TARGET_TRIPLET}")
+set(OUT_PATH ${CURRENT_BUILDTREES_DIR}/make-build-${TARGET_TRIPLET})
+
+file(REMOVE_RECURSE ${OUT_PATH})
+file(MAKE_DIRECTORY ${OUT_PATH})
+
+vcpkg_execute_required_process(
+ COMMAND "./configure" --prefix=${OUT_PATH}
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME config-${TARGET_TRIPLET}
+)
+
+message(STATUS "Building ${TARGET_TRIPLET}")
+vcpkg_execute_required_process(
+ COMMAND make
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-release
+)
+
+message(STATUS "Installing ${TARGET_TRIPLET}")
+vcpkg_execute_required_process(
+ COMMAND make install
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME install-${TARGET_TRIPLET}-release
+)
+file(COPY ${OUT_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+file(COPY ${OUT_PATH}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+
+file(GLOB_RECURSE LIBOSIP2_BINARIES ${CURRENT_PACKAGES_DIR}/lib *.so)
+foreach(LIBOSIP2_BINARY LIBOSIP2_BINARIES)
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(COPY ${LIBOSIP2_BINARY} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+ file(REMOVE ${LIBOSIP2_BINARY})
+endforeach()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file