[neon/backports-jammy/qcustomplot/Neon/release] debian/patches/patches: drop upstreamed qt6 build patch

Carlos De Maine null at kde.org
Tue Aug 22 01:02:40 BST 2023


Git commit feab6b3c85a31a9ff210342643d8678394324d5a by Carlos De Maine.
Committed on 22/08/2023 at 02:02.
Pushed by carlosdem into branch 'Neon/release'.

drop upstreamed qt6 build patch

A  +147  -0    debian/patches/patches/01_add_CMake_config_material.patch
A  +24   -0    debian/patches/patches/02_fix_header_build.patch
A  +2    -0    debian/patches/patches/series

https://invent.kde.org/neon/backports-jammy/qcustomplot/-/commit/feab6b3c85a31a9ff210342643d8678394324d5a

diff --git a/debian/patches/patches/01_add_CMake_config_material.patch b/debian/patches/patches/01_add_CMake_config_material.patch
new file mode 100644
index 0000000..11be178
--- /dev/null
+++ b/debian/patches/patches/01_add_CMake_config_material.patch
@@ -0,0 +1,147 @@
+This patch implements the Qt5- and Qt6-based builds with CMake
+
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,134 @@
++cmake_minimum_required(VERSION 3.18.4)
++
++SET(QCustomPlot_MAJOR_VERSION "2")
++SET(QCustomPlot_MINOR_VERSION "1")
++SET(QCustomPlot_PATCH_VERSION "0")
++
++set(QCustomPlot_VERSION "${QCustomPlot_MAJOR_VERSION}.${QCustomPlot_MINOR_VERSION}.${QCustomPlot_PATCH_VERSION}")
++set(QCustomPlot_SOVERSION "${QCustomPlot_MAJOR_VERSION}.${QCustomPlot_MINOR_VERSION}")
++
++PROJECT(QCustomPlot LANGUAGES CXX VERSION ${QCustomPlot_VERSION})
++
++set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
++
++include(GNUInstallDirs)
++include(FeatureSummary)
++
++#-----------------------------------------------------------#
++# Dependencies
++#-----------------------------------------------------------#
++
++set(REQUIRED_QT_COMPONENTS Core Widgets PrintSupport)
++
++set(MIN_REQUIRED_QT5_VERSION "5.12")
++set(MIN_REQUIRED_QT6_VERSION "6.2.0")
++
++if (NOT USE_QT_VERSION)
++  # FIXME: find_package(QT NAMES Qt6 Qt5 ...) seems to prefer Qt5 on my system
++  find_package(Qt6 ${MIN_REQUIRED_QT6_VERSION} COMPONENTS ${REQUIRED_QT_COMPONENTS} REQUIRED)
++  if (NOT Qt6_FOUND)
++    find_package(Qt5 ${MIN_REQUIRED_QT5_VERSION} COMPONENTS ${REQUIRED_QT_COMPONENTS} REQUIRED)
++    set(QT_VERSION_MAJOR 5)
++  else()
++    set(QT_VERSION_MAJOR 6)
++  endif()
++else()
++  find_package(Qt${USE_QT_VERSION} ${MIN_REQUIRED_QT${USE_QT_VERSION}_VERSION}
++    COMPONENTS ${REQUIRED_QT_COMPONENTS} REQUIRED)
++  set(QT_VERSION_MAJOR ${USE_QT_VERSION})
++endif()
++
++# Determine the names of the output library depending on the version of Qt:
++
++if(${QT_VERSION_MAJOR} EQUAL "5")
++
++  message("The Qt version to build against is 5")
++
++  set(LIB_NAME QCustomPlot)
++  set(CMAKE_CONFIG_FILE_NAME ${LIB_NAME}Config.cmake)
++  set(CMAKE_CONFIG_LIB_NAMES QCustomPlot libQCustomPlot)
++
++endif()
++
++if(${QT_VERSION_MAJOR} EQUAL "6")
++
++  message("The Qt version to build against is 6")
++
++  set(LIB_NAME QCustomPlotQt6)
++  set(CMAKE_CONFIG_FILE_NAME ${LIB_NAME}Config.cmake)
++  set(CMAKE_CONFIG_LIB_NAMES QCustomPlotQt6 libQCustomPlotQt6)
++
++endif()
++
++#-----------------------------------------------------------#
++# Definitions
++#-----------------------------------------------------------#
++
++set(QCUSTOMPLOT_TARGET_PREFIX "${LIB_NAME}")
++set(QCUSTOMPLOT_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/${LIB_NAME}")
++
++#-----------------------------------------------------------#
++# Compiler Settings
++#-----------------------------------------------------------#
++
++#set(CMAKE_CXX_STANDARD 17)
++
++set(CMAKE_AUTOMOC ON)
++set(CMAKE_AUTORCC ON)
++set(CMAKE_AUTOUIC ON)
++
++# Only enable strict warnings in debug mode
++set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wextra -Werror -pedantic")
++
++# As per the author of the library, we should export the symbols under
++# MS-Windows.
++add_definitions(-DQCUSTOMPLOT_COMPILE_LIBRARY)
++
++#-----------------------------------------------------------#
++# Sources
++#-----------------------------------------------------------#
++
++add_library(${LIB_NAME} SHARED qcustomplot.cpp)
++
++set_target_properties(${LIB_NAME} PROPERTIES
++  VERSION ${QCustomPlot_VERSION}
++  SOVERSION ${QCustomPlot_SOVERSION})
++
++target_link_libraries(${LIB_NAME}
++  Qt${QT_VERSION_MAJOR}::Widgets
++  Qt${QT_VERSION_MAJOR}::PrintSupport)
++
++#-----------------------------------------------------------#
++# Installation
++#-----------------------------------------------------------#
++
++install(TARGETS ${LIB_NAME}
++  EXPORT ${LIB_NAME}Targets
++  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++  INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++
++install(FILES qcustomplot.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
++
++install(EXPORT ${LIB_NAME}Targets
++  FILE ${LIB_NAME}Targets.cmake
++  NAMESPACE ${LIB_NAME}::
++  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME})
++
++include(CMakePackageConfigHelpers)
++
++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in
++  "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Config.cmake"
++  INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME})
++
++install(FILES
++  "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Config.cmake"
++  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME})
++
++#-----------------------------------------------------------#
++# Summary
++#-----------------------------------------------------------#
++
++feature_summary(FATAL_ON_MISSING_REQUIRED_PACKAGES WHAT ALL)
++
+--- /dev/null
++++ b/cmake/Config.cmake.in
+@@ -0,0 +1,5 @@
++ at PACKAGE_INIT@
++
++include("${CMAKE_CURRENT_LIST_DIR}/@LIB_NAME at Targets.cmake")
++
++check_required_components(@LIB_NAME@)
diff --git a/debian/patches/patches/02_fix_header_build.patch b/debian/patches/patches/02_fix_header_build.patch
new file mode 100644
index 0000000..0fe37aa
--- /dev/null
+++ b/debian/patches/patches/02_fix_header_build.patch
@@ -0,0 +1,24 @@
+This patch fixes the build with Qt6. Works also for Qt5.
+--- a/qcustomplot.h
++++ b/qcustomplot.h
+@@ -318,6 +300,20 @@
+                      ,stMultipleDataRanges ///< Any combination of data points/ranges can be selected
+                     };
+ 
++  Q_ENUM_NS(ExportPen)
++  Q_ENUM_NS(ResolutionUnit)
++  Q_ENUM_NS(SignDomain)
++  Q_ENUM_NS(MarginSide)
++  Q_FLAG_NS(MarginSides)
++  Q_ENUM_NS(AntialiasedElement)
++  Q_FLAG_NS(AntialiasedElements)
++  Q_ENUM_NS(PlottingHint)
++  Q_FLAG_NS(PlottingHints)
++  Q_ENUM_NS(Interaction)
++  Q_FLAG_NS(Interactions)
++  Q_ENUM_NS(SelectionRectMode)
++  Q_ENUM_NS(SelectionType)
++
+ /*! \internal
+   
+   Returns whether the specified \a value is considered an invalid data value for plottables (i.e.
diff --git a/debian/patches/patches/series b/debian/patches/patches/series
new file mode 100644
index 0000000..c291e45
--- /dev/null
+++ b/debian/patches/patches/series
@@ -0,0 +1,2 @@
+01_add_CMake_config_material.patch
+#02_fix_header_build.patch


More information about the Neon-commits mailing list