diff --git a/plugins/qt4/qt4-overlay.mk b/plugins/qt4/qt4-overlay.mk index 59f31f80..55f0f275 100644 --- a/plugins/qt4/qt4-overlay.mk +++ b/plugins/qt4/qt4-overlay.mk @@ -17,6 +17,11 @@ $(PKG)_DEPS := $(filter-out qtbase ,$($(PKG)_DEPS)) qt PKG := poppler $(PKG)_DEPS := $(filter-out qtbase ,$($(PKG)_DEPS)) qt +PKG := qjson +$(PKG)_DEPS := $(filter-out qtbase ,$($(PKG)_DEPS)) qt +$(PKG)_QT_SUFFIX := +$(PKG)_QT4_BOOL := ON + PKG := qwt $(PKG)_DEPS := cc qt $(PKG)_QT_DIR := qt diff --git a/src/qjson-1-fixes.patch b/src/qjson-1-fixes.patch index 754a8715..88582fb1 100644 --- a/src/qjson-1-fixes.patch +++ b/src/qjson-1-fixes.patch @@ -4,98 +4,64 @@ Contains ad hoc patches for cross building. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tony Theodore -Date: Sat, 18 Nov 2017 21:41:08 +1100 -Subject: [PATCH 1/2] fixes +Date: Sat, 24 Feb 2018 15:54:48 +1100 +Subject: [PATCH 1/1] fixes diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1111111..2222222 100644 +index 1111111..2222222 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -56,13 +56,13 @@ set(QJSON_LIB_VERSION_STRING "${QJSON_LIB_MAJOR_VERSION}.${QJSON_LIB_MINOR_VERSI - set(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib" ) +@@ -32,6 +32,10 @@ endif (WIN32) + # BUILD_SHARED_LIBS is cmake variable. Need to change default value. + option(BUILD_SHARED_LIBS "Build shared library" ON) + ++if(NOT BUILD_SHARED_LIBS) ++ set(PC_CFLAGS "-DQJSON_STATIC") ++endif() ++ + OPTION(OSX_FRAMEWORK "Build a Mac OS X Framework") + SET(FRAMEWORK_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/Library/Frameworks" + CACHE PATH "Where to place qjson.framework if OSX_FRAMEWORK is selected") +@@ -96,13 +100,13 @@ set(QJSON_LIB_VERSION_STRING "${QJSON_LIB_MAJOR_VERSION}.${QJSON_LIB_MINOR_VERSI + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" ) # pkg-config -IF (NOT WIN32) -+#IF (NOT WIN32) ++IF (MINGW OR NOT WIN32) CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/QJson.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/QJson.pc + ${CMAKE_CURRENT_BINARY_DIR}/QJson${QJSON_SUFFIX}.pc @ONLY) - INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/QJson.pc + INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/QJson${QJSON_SUFFIX}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) -ENDIF (NOT WIN32) -+#ENDIF (NOT WIN32) ++ENDIF (MINGW OR NOT WIN32) # Subdirs ADD_SUBDIRECTORY(src) - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Brand -Date: Sat, 18 Nov 2017 21:42:43 +1100 -Subject: [PATCH 2/2] build as static lib - -taken from: -http://sourceforge.net/mailarchive/forum.php?thread_name=4E1DBC0D.10000%40jrit.at&forum_name=qjson-devel - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1111111..2222222 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,6 +31,13 @@ SET(FRAMEWORK_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/Library/Frameworks" - # (This will have no effect with CMake < 2.8) - SET(QT_USE_IMPORTED_TARGETS TRUE) - -+# For Static builds -+IF(LIBTYPE STREQUAL "STATIC") -+ ADD_DEFINITIONS("-DQJSON_STATIC") -+ ADD_DEFINITIONS("-DQT_NODLL") -+ SET(PKG_CONFIG_CFLAGS -DQJSON_STATIC ${PKG_CONFIG_CFLAGS}) -+endif() -+ - # Find Qt4 - FIND_PACKAGE( Qt4 REQUIRED ) - diff --git a/QJson.pc.in b/QJson.pc.in index 1111111..2222222 100644 --- a/QJson.pc.in +++ b/QJson.pc.in -@@ -8,4 +8,4 @@ Description: QJson is a qt-based library that maps JSON data to QVariant objects +@@ -7,5 +7,5 @@ Name: QJson + Description: QJson is a qt-based library that maps JSON data to QVariant objects Version: @QJSON_LIB_MAJOR_VERSION@.@QJSON_LIB_MINOR_VERSION@.@QJSON_LIB_PATCH_VERSION@ - Requires: QtCore - Libs: -L${libdir} -lqjson + Requires: @PC_Requires@ +-Libs: -L${libdir} -lqjson -Cflags: -I${includedir} \ No newline at end of file -+Cflags: -I${includedir} @PKG_CONFIG_CFLAGS@ ++Libs: -L${libdir} -lqjson@QJSON_SUFFIX@ ++Cflags: -I${includedir} @PC_CFLAGS@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1111111..2222222 100644 +index 1111111..2222222 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -15,7 +15,12 @@ qt4_wrap_cpp(qjson_MOC_SRCS ${qjson_MOC_HDRS}) - set (qjson_SRCS parser.cpp qobjecthelper.cpp json_scanner.cpp json_parser.cc parserrunnable.cpp serializer.cpp serializerrunnable.cpp) - set (qjson_HEADERS parser.h parserrunnable.h qobjecthelper.h serializer.h serializerrunnable.h qjson_export.h) - --add_library (qjson SHARED ${qjson_SRCS} ${qjson_MOC_SRCS} ${qjson_HEADERS}) -+IF(LIBTYPE STREQUAL "STATIC") -+ add_library (qjson STATIC ${qjson_SRCS} ${qjson_MOC_SRCS} ${qjson_HEADERS}) -+else() -+ add_library (qjson SHARED ${qjson_SRCS} ${qjson_MOC_SRCS} ${qjson_HEADERS}) -+endif() -+ - target_link_libraries( qjson ${QT_LIBRARIES}) - - if(NOT android) -diff --git a/src/qjson_export.h b/src/qjson_export.h -index 1111111..2222222 100644 ---- a/src/qjson_export.h -+++ b/src/qjson_export.h -@@ -23,7 +23,9 @@ - #include +@@ -59,7 +59,7 @@ INSTALL(TARGETS qjson${QJSON_SUFFIX} EXPORT qjson-export + RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR} +- PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/qjson${QJSON_SUFFIX} ++ PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/qjson + ) - #ifndef QJSON_EXPORT --# if defined(QJSON_MAKEDLL) -+# ifdef QJSON_STATIC -+# define QJSON_EXPORT -+# elif defined(QJSON_MAKEDLL) - /* We are building this library */ - # define QJSON_EXPORT Q_DECL_EXPORT - # else + if(MSVC) diff --git a/src/qjson.mk b/src/qjson.mk index 556c6a02..20247e90 100644 --- a/src/qjson.mk +++ b/src/qjson.mk @@ -4,27 +4,22 @@ PKG := qjson $(PKG)_WEBSITE := https://qjson.sourceforge.io/ $(PKG)_DESCR := QJson $(PKG)_IGNORE := -$(PKG)_VERSION := 0.8.1 -$(PKG)_CHECKSUM := cd4db5b956247c4991a9c3e95512da257cd2a6bd011357e363d02300afc814d9 -$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) -$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2 -$(PKG)_URL := https://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE) -$(PKG)_DEPS := cc qt +$(PKG)_VERSION := 0.9.0 +$(PKG)_CHECKSUM := e812617477f3c2bb990561767a4cd8b1d3803a52018d4878da302529552610d4 +$(PKG)_GH_CONF := flavio/qjson/tags +$(PKG)_DEPS := cc qtbase -define $(PKG)_UPDATE - $(WGET) -q -O- 'https://sourceforge.net/projects/qjson/files/qjson/' | \ - $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \ - head -1 -endef +$(PKG)_QT_SUFFIX := -qt5 +$(PKG)_QT4_BOOL := OFF define $(PKG)_BUILD - mkdir '$(1)/build' - cd '$(1)/build' && '$(TARGET)-cmake' .. - - $(MAKE) -C '$(1)/build' -j '$(JOBS)' install + cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \ + -DQT4_BUILD=$($(PKG)_QT4_BOOL) + $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' + $(MAKE) -C '$(BUILD_DIR)' -j 1 install '$(TARGET)-g++' \ - -W -Wall -Werror -ansi -pedantic \ + -W -Wall -Werror -std=c++11 -pedantic \ '$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ - `'$(TARGET)-pkg-config' QJson --cflags --libs` + `'$(TARGET)-pkg-config' QJson$($(PKG)_QT_SUFFIX) --cflags --libs` endef