aboutsummaryrefslogtreecommitdiff
path: root/ports/quirc
diff options
context:
space:
mode:
authorWimok Nupphiboon <wimok.mok@gmail.com>2018-03-24 11:53:55 +0700
committerWimok Nupphiboon <wimok.mok@gmail.com>2018-03-24 11:53:55 +0700
commit663be4bbffd435cf5e5fc62a0774c784c10ddc68 (patch)
treed214f24405fa75d4dad9dfb938a04846d2ca6102 /ports/quirc
parent1e380dde21317e73d1859dad1c64c06eb88cc502 (diff)
parentaa57df6d6ed6d17000522492b66fc93d3f32ab86 (diff)
downloadvcpkg-663be4bbffd435cf5e5fc62a0774c784c10ddc68.tar.gz
vcpkg-663be4bbffd435cf5e5fc62a0774c784c10ddc68.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'ports/quirc')
-rw-r--r--ports/quirc/CMakeLists.txt19
-rw-r--r--ports/quirc/CONTROL3
-rw-r--r--ports/quirc/patch-for-msvc.patch36
-rw-r--r--ports/quirc/portfile.cmake31
4 files changed, 89 insertions, 0 deletions
diff --git a/ports/quirc/CMakeLists.txt b/ports/quirc/CMakeLists.txt
new file mode 100644
index 000000000..8af398bb8
--- /dev/null
+++ b/ports/quirc/CMakeLists.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 2.8)
+
+project(quirc C)
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+add_library(quirc
+ lib/decode.c
+ lib/identify.c
+ lib/quirc.c
+ lib/version_db.c
+)
+
+install(TARGETS quirc
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
+
+install(FILES ${PROJECT_SOURCE_DIR}/lib/quirc.h DESTINATION include)
diff --git a/ports/quirc/CONTROL b/ports/quirc/CONTROL
new file mode 100644
index 000000000..1ba02d889
--- /dev/null
+++ b/ports/quirc/CONTROL
@@ -0,0 +1,3 @@
+Source: quirc
+Version: 1.0-1
+Description: quirc is one of the C library available for scanning QR Codes
diff --git a/ports/quirc/patch-for-msvc.patch b/ports/quirc/patch-for-msvc.patch
new file mode 100644
index 000000000..c755d04a7
--- /dev/null
+++ b/ports/quirc/patch-for-msvc.patch
@@ -0,0 +1,36 @@
+From 1c1ceecb70ad76751f0b573937380525d7643a87 Mon Sep 17 00:00:00 2001
+From: reyzal <reyzal@163.com>
+Date: Sun, 4 Mar 2018 12:09:34 +0800
+Subject: [PATCH] for msvc
+
+---
+ lib/identify.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/identify.c b/lib/identify.c
+index bf7bd94..cd16b0a 100644
+--- a/lib/identify.c
++++ b/lib/identify.c
+@@ -196,9 +196,9 @@ static void threshold(struct quirc *q)
+ threshold_s = THRESHOLD_S_MIN;
+
+ for (y = 0; y < q->h; y++) {
+- int row_average[q->w];
++ int *row_average = malloc(q->w * sizeof(int));
+
+- memset(row_average, 0, sizeof(row_average));
++ memset(row_average, 0, q->w * sizeof(int));
+
+ for (x = 0; x < q->w; x++) {
+ int w, u;
+@@ -229,6 +229,7 @@ static void threshold(struct quirc *q)
+ }
+
+ row += q->w;
++ free(row_average);
+ }
+ }
+
+--
+2.7.3.windows.1
+
diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake
new file mode 100644
index 000000000..976c7bc92
--- /dev/null
+++ b/ports/quirc/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO dlbeer/quirc
+ REF v1.0
+ SHA512 a556b08f2e2c710648b342fd06a855aa577b2b8c047c45a1c47cf54cde9963faf612978afba80bfd60a6f4f63156566f549ea303f09ed6e5348c1c30f5d77c13
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/quirc-1.0
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/patch-for-msvc.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/quirc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/quirc/license ${CURRENT_PACKAGES_DIR}/share/quirc/copyright)