aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSheen Tian <5869938+tishion@users.noreply.github.com>2020-05-22 02:25:25 +0800
committerGitHub <noreply@github.com>2020-05-21 11:25:25 -0700
commit3dd53aae33bc1f5ed6e6dc896707075b17ec59e1 (patch)
treee427451aed1290b1e3972c8f8ea7049d79c26a8b
parent875821cd801d71208b294e5faf83fe4f6564a3eb (diff)
downloadvcpkg-3dd53aae33bc1f5ed6e6dc896707075b17ec59e1.tar.gz
vcpkg-3dd53aae33bc1f5ed6e6dc896707075b17ec59e1.zip
[mmloader ]Add new port (#11381)
* Add new port mmloader * update the SHA512 * update the version * Address PR comments
-rw-r--r--ports/mmloader/CONTROL8
-rw-r--r--ports/mmloader/portfile.cmake42
-rw-r--r--scripts/ci.baseline.txt7
3 files changed, 57 insertions, 0 deletions
diff --git a/ports/mmloader/CONTROL b/ports/mmloader/CONTROL
new file mode 100644
index 000000000..e57556062
--- /dev/null
+++ b/ports/mmloader/CONTROL
@@ -0,0 +1,8 @@
+Source: mmloader
+Version: 2020-05-15
+Description: A library for loading dll module bypassing windows PE loader from memory (x86/x64)
+Homepage: http://tishion.github.io/mmLoader/
+Supports: (x86|x64)&windows&static
+
+Feature: shellcode
+Description: Generate mmLoader shell code headers
diff --git a/ports/mmloader/portfile.cmake b/ports/mmloader/portfile.cmake
new file mode 100644
index 000000000..2a3411ce3
--- /dev/null
+++ b/ports/mmloader/portfile.cmake
@@ -0,0 +1,42 @@
+
+# fail early for unsupported triplets
+vcpkg_fail_port_install(
+ MESSAGE "mmLoader supports only x86/x64-windows-static triplets"
+ ON_TARGET "UWP" "LINUX" "OSX" "ANDROID" "FREEBSD"
+ ON_ARCH "arm" "arm64"
+ ON_CRT_LINKAGE "dynamic"
+ ON_LIBRARY_LINKAGE "dynamic"
+)
+
+# source
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tishion/mmLoader
+ REF 1.0.0
+ SHA512 ceb2ab4b60d74209fa46d198cde6fd87a97d911abb875ac35383288a67828d0420bb38ff8d2f17dd4a3f46ba3abf554152d1246eeb05215258e8af64ac4a39de
+ HEAD_REF master
+)
+
+# feature
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ shellcode BUILD_SHELLCODE_GEN
+)
+
+# config
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ ${FEATURE_OPTIONS}
+)
+
+# pre-clean
+file(REMOVE_RECURSE ${SOURCE_PATH}/output)
+
+# build and install
+vcpkg_install_cmake(DISABLE_PARALLEL)
+
+# remove the debug/include directory
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# collect license files
+file(INSTALL ${SOURCE_PATH}/License DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index aed1567bc..f4400b211 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -1094,6 +1094,13 @@ minizip:arm-uwp=fail
minizip:x64-uwp=fail
mman:x64-linux=fail
mman:x64-osx=fail
+mmloader:arm64-windows=fail
+mmloader:arm-uwp=fail
+mmloader:x64-linux=fail
+mmloader:x64-osx=fail
+mmloader:x64-uwp=fail
+mmloader:x64-windows=fail
+mmloader:x86-windows=fail
# mmx installs many problematic headers, such as `json.h` and `sched.h`
mmx:x64-windows=skip
mmx:x64-windows-static=skip