aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt8
-rw-r--r--README.adoc6
-rw-r--r--ToolchainCrossMinGW.cmake5
-rw-r--r--ToolchainCrossMinGWW64.cmake5
-rw-r--r--ToolchainCrossWin64.cmake5
-rw-r--r--Win64Depends.sh18
6 files changed, 26 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a09368b..9164d31 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,6 +41,7 @@ if (CONVERT_EXECUTABLE AND NOT WIN32)
set (icon_svg ${icon_base}/scalable/apps/logdiag.svg)
set (icon_size_list 16x16 32x32 48x48)
+ # ImageMagick very oddly outperforms rsvg-convert with our specific SVG
set (icon_png_list)
set (icon_symbolic_list)
foreach (icon_size ${icon_size_list})
@@ -59,6 +60,8 @@ if (CONVERT_EXECUTABLE AND NOT WIN32)
PROPERTIES SYMBOLIC TRUE)
endforeach ()
+ # Symbolic targets prevent the icons from being either cleaned,
+ # or pointlessly regenerated slightly differently
set (icon_ico ${PROJECT_SOURCE_DIR}/share/logdiag.ico)
add_custom_target (${PROJECT_NAME}_icons
DEPENDS ${icon_symbolic_list}
@@ -72,7 +75,8 @@ pkg_check_modules (GTK3 REQUIRED gtk+-3.0 json-glib-1.0)
link_directories (${GTK3_LIBRARY_DIRS})
if (NOT WIN32)
- pkg_search_module (Lua REQUIRED lua>=5.2 lua5.3 lua-5.3 lua5.2 lua-5.2)
+ pkg_search_module (Lua REQUIRED lua>=5.2
+ lua5.4 lua-5.4 lua5.3 lua-5.3 lua5.2 lua-5.2)
link_directories (${Lua_LIBRARY_DIRS})
else ()
# For whatever reason this now seems to be required
@@ -448,7 +452,7 @@ set (CPACK_DEBIAN_PACKAGE_HOMEPAGE "${project_URL}")
set (CPACK_RPM_PACKAGE_REQUIRES "gtk3 >= 3.8, json-glib >= 0.10.4, lua = 5.2")
set (CPACK_RPM_PACKAGE_GROUP "Graphics")
-set (CPACK_RPM_PACKAGE_LICENSE "ISC")
+set (CPACK_RPM_PACKAGE_LICENSE "0BSD")
set (CPACK_RPM_PACKAGE_URL "${project_URL}")
set (CPACK_SOURCE_GENERATOR "TGZ;ZIP")
diff --git a/README.adoc b/README.adoc
index c8a77cf..5cb3fae 100644
--- a/README.adoc
+++ b/README.adoc
@@ -10,8 +10,10 @@ image::docs/user-guide/logdiag-en.png[align="center"]
Packages
--------
-Regular releases are sporadic. git master should be stable enough. You can get
-a package with the latest development version from Archlinux's AUR.
+Regular releases are sporadic. git master should be stable enough.
+You can get a package with the latest development version using Arch Linux's
+https://aur.archlinux.org/packages/logdiag-git[AUR],
+or as a https://git.janouch.name/p/nixexprs[Nix derivation].
Windows installers can be downloaded from
https://git.janouch.name/p/logdiag/releases[the Releases page on Gitea].
diff --git a/ToolchainCrossMinGW.cmake b/ToolchainCrossMinGW.cmake
index 7c9242b..4aaa387 100644
--- a/ToolchainCrossMinGW.cmake
+++ b/ToolchainCrossMinGW.cmake
@@ -5,12 +5,11 @@ set (CMAKE_C_COMPILER "i586-mingw32msvc-gcc")
set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++")
set (CMAKE_RC_COMPILER "i586-mingw32msvc-windres")
-# Not needed to crosscompile an installation package
-#set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
+# Remember to set WINEPATH for library dependencies
+set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
set (CMAKE_FIND_ROOT_PATH "/usr/i586-mingw32msvc")
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
diff --git a/ToolchainCrossMinGWW64.cmake b/ToolchainCrossMinGWW64.cmake
index f72e903..886df14 100644
--- a/ToolchainCrossMinGWW64.cmake
+++ b/ToolchainCrossMinGWW64.cmake
@@ -5,12 +5,11 @@ set (CMAKE_C_COMPILER "i686-w64-mingw32-gcc")
set (CMAKE_CXX_COMPILER "i686-w64-mingw32-g++")
set (CMAKE_RC_COMPILER "i686-w64-mingw32-windres")
-# Not needed to crosscompile an installation package
-#set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
+# Remember to set WINEPATH for library dependencies
+set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
set (CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32")
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
diff --git a/ToolchainCrossWin64.cmake b/ToolchainCrossWin64.cmake
index 5550d6d..e895c2d 100644
--- a/ToolchainCrossWin64.cmake
+++ b/ToolchainCrossWin64.cmake
@@ -5,12 +5,11 @@ set (CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc")
set (CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++")
set (CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres")
-# Not needed to crosscompile an installation package
-#set (CMAKE_CROSSCOMPILING_EMULATOR "wine64")
+# Remember to set WINEPATH for library dependencies
+set (CMAKE_CROSSCOMPILING_EMULATOR "wine64")
set (CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32")
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
diff --git a/Win64Depends.sh b/Win64Depends.sh
index 0a1dd89..bff86eb 100644
--- a/Win64Depends.sh
+++ b/Win64Depends.sh
@@ -1,5 +1,5 @@
#!/bin/sh -e
-# Win64Depends.sh: download dependencies from MSYS2 for cross-compilation
+# Win64Depends.sh: download dependencies from MSYS2 for cross-compilation.
# Dependencies: AWK, sed, sha256sum, cURL, bsdtar, wine64
repository=https://repo.msys2.org/mingw/mingw64/
@@ -27,7 +27,8 @@ fetch() {
} BEGIN { while ((getline < "db.tsv") > 0) {
filenames[$1] = $2; deps[$1] = ""; for (i = 3; i <= NF; i++) {
gsub(/[<=>].*/, "", $i); deps[$1] = deps[$1] $i FS }
- } for (i = 0; i < ARGC; i++) get(ARGV[i]) }' "$@" | while IFS= read -r name
+ } for (i = 0; i < ARGC; i++) get(ARGV[i]) }' "$@" | tee db.want | \
+ while IFS= read -r name
do
status Fetching "$name"
[ -f "packages/$name" ] || curl -#o "packages/$name" "$repository/$name"
@@ -44,9 +45,9 @@ extract() {
for subdir in *
do [ -d "$subdir" -a "$subdir" != packages ] && rm -rf -- "$subdir"
done
- for i in packages/*
- do bsdtar -xf "$i" --strip-components 1 mingw64
- done
+ while IFS= read -r name
+ do bsdtar -xf "packages/$name" --strip-components 1
+ done < db.want
}
configure() {
@@ -55,15 +56,16 @@ configure() {
wine64 bin/gdk-pixbuf-query-loaders.exe \
> lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
- # pkgconf has a command line option for this, but CMake can't pass it
- sed -i "s|^prefix=/mingw64|prefix=$(pwd)|" {share,lib}/pkgconfig/*.pc
+ # pkgconf has a command line option for this, but CMake can't pass it.
+ sed -i "s|^prefix=/mingw64|prefix=$(pwd)|" \
+ share/pkgconfig/*.pc lib/pkgconfig/*.pc
}
mkdir -p win32-depends
cd win32-depends
dbsync
fetch mingw-w64-x86_64-gtk3 mingw-w64-x86_64-lua \
- mingw-w64-x86_64-libwinpthread-git # because we don't do "provides"?
+ mingw-w64-x86_64-libwinpthread-git # Because we don't do "provides"?
verify
extract
configure