all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob f712153061a13709bc229486d2bbf8703759f4f6 4495 bytes (raw)
name: gnu/packages/patches/xygrib-fix-finding-data.patch 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
 
This i a backport of the commits in PR 235 (“Fixes for packaging on
linux-like systems”), which was merged upstream:

https://github.com/opengribs/XyGrib/pull/235

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 64059ab65dae..00cc5d6aea6f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,6 +7,9 @@ set(VERSION_PATCH 6)
 set(XYGRIB_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
 set(XYGRIB_VERSION_DATE "2019-07-05")
 
+option(GNU_PACKAGE "Install into GNU standard directories" OFF)
+option(GEN_TRANSLATIONS "Generate translations" ON)
+
 set(CMAKE_VERBOSE_MAKEFILE ON)
 
 # Find includes in corresponding build directories
@@ -25,7 +28,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
 set(CMAKE_CXX_STANDARD 11)
 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
 if(UNIX AND NOT APPLE)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC")
+add_compile_options(-Wall -fPIC)
 endif()
 
 # Add support for address etc sanitizers, part 1/2 (other half after ADD_EXECUTABLE)
@@ -108,17 +111,12 @@ find_path(OPENJPEG_INCLUDE_DIR
      ~/Library/Frameworks/include
      /Library/Frameworks/include
      /usr/local/include
-     /usr/local/include/openjpeg-2.3
-     /usr/include/openjpeg-2.3
-     /usr/local/include/openjpeg-2.1
-     /usr/include/openjpeg-2.1
-     /usr/local/include/openjpeg-2.2
-     /usr/include/openjpeg-2.2
      /usr/include
      /sw/include # Fink
      /opt/local/include # DarwinPorts
      /opt/csw/include # Blastwave
      /opt/include
+     PATH_SUFFIXES openjpeg-2.3 openjpeg-2.2 openjpeg-2.1
      REQUIRED
  )
 include_directories(${OPENJPEG_INCLUDE_DIR})
@@ -212,22 +210,24 @@ include_directories(${PNG_INCLUDE_DIR})
 configure_file(cmake/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include/Version.h)
 include_directories(${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include)
 
-if(APPLE)
-set(PREFIX_BIN ${PROJECT_NAME})
-set(PREFIX_PKGDATA ${PROJECT_NAME})
-endif()
-if(WIN32)
-set(PREFIX_BIN ".")
-set(PREFIX_PKGDATA ".")
-endif()
-if(UNIX AND NOT APPLE)
-# This is not exactly a good idea on linux - the code should be changed so that the executable would go to /usr/local/bin and the data to /usr/local/share/XyGrib
-set(PREFIX_BIN ${PROJECT_NAME})
-set(PREFIX_PKGDATA ${PROJECT_NAME})
+if(GNU_PACKAGE)
+    include(GNUInstallDirs)
+    set(PREFIX_BIN ${CMAKE_INSTALL_FULL_BINDIR})
+    set(PREFIX_PKGDATA ${CMAKE_INSTALL_FULL_DATADIR}/openGribs/${PROJECT_NAME})
+else()
+    if(WIN32)
+        set(PREFIX_BIN ".")
+        set(PREFIX_PKGDATA ".")
+    else()
+        set(PREFIX_BIN ${PROJECT_NAME})
+        set(PREFIX_PKGDATA ${PROJECT_NAME})
+    endif()
 endif()
 
 add_subdirectory(src)
-add_subdirectory(data/tr)
+if(GEN_TRANSLATIONS)
+    add_subdirectory(data/tr)
+endif()
 
 # Installation
 # macOS bundle parameters
@@ -241,4 +241,14 @@ set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STR
 set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${XYGRIB_VERSION}")
 set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_COPYRIGHT "${PROJECT_NAME} Authors")
 # Install data
-install(DIRECTORY data DESTINATION ${PREFIX_PKGDATA})
+install(DIRECTORY data DESTINATION ${PREFIX_PKGDATA}
+        PATTERN "CMakeFiles" EXCLUDE
+        PATTERN "CMakeLists.txt" EXCLUDE
+        PATTERN "Makefile" EXCLUDE
+        PATTERN "cmake_install.cmake" EXCLUDE)
+if(GNU_PACKAGE)
+    install(FILES debian/xygrib.desktop
+            DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/applications)
+    install(FILES debian/xygrib.png
+            DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/pixmaps)
+endif()
diff --git a/INSTALL.md b/INSTALL.md
index 2c9d3ab4da03..1190cc780182 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -22,7 +22,19 @@ https://gihub.com/opengribs/XyGrib/releases or on https://opengribs.org in the d
   - openSUSE Tumbleweed: `sudo zypper install gcc git cmake libqt5-qtbase-devel libpng-devel openjpeg2-devel libnova-devel libproj-devel zlib-devel libbz2-devel
 
 ## Build and package
+### Options
 
+XyGrib has two CMake options
+- GNU_PACKAGE (DEFAULT: OFF)
+```
+Files will be installed in GNU standard installation directories such as prefix/bin and prefix/share.
+Packagers are recommended to test this option.
+```
+- GEN_TRANSLATION (DEFAULT: ON)
+```
+Create targets to generate translation files.
+Turning this off removes the need for qt-linguist, part of qttools qt5 submodule, during build.
+```
 ### macOS
 
 - Get the source

debug log:

solving f712153061a1 ...
found f712153061a1 in https://yhetil.org/guix/20210907001857.141403-1-bauermann@kolabnow.com/

applying [1/1] https://yhetil.org/guix/20210907001857.141403-1-bauermann@kolabnow.com/
diff --git a/gnu/packages/patches/xygrib-fix-finding-data.patch b/gnu/packages/patches/xygrib-fix-finding-data.patch
new file mode 100644
index 000000000000..f712153061a1

1:19: trailing whitespace.
 
1:24: trailing whitespace.
 
1:33: trailing whitespace.
 
1:57: trailing whitespace.
 
1:83: trailing whitespace.
 
Checking patch gnu/packages/patches/xygrib-fix-finding-data.patch...
Applied patch gnu/packages/patches/xygrib-fix-finding-data.patch cleanly.
warning: squelched 4 whitespace errors
warning: 9 lines add whitespace errors.

index at:
100644 f712153061a13709bc229486d2bbf8703759f4f6	gnu/packages/patches/xygrib-fix-finding-data.patch

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.