Compare commits
	
		
			No commits in common. "master" and "v0.3.0" have entirely different histories.
		
	
	
		
	
		
| @ -9,7 +9,6 @@ option (OPTION_GTKDOC "For developers only--enable use of gtk-doc" OFF) | ||||
| option (BUILD_TESTING "Build tests" OFF) | ||||
| 
 | ||||
| # Project information | ||||
| set (project_ID "name.janouch.${PROJECT_NAME}") | ||||
| set (project_URL "https://git.janouch.name/p/logdiag") | ||||
| 
 | ||||
| # For custom modules | ||||
| @ -41,7 +40,6 @@ 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}) | ||||
| @ -60,8 +58,6 @@ 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} | ||||
| @ -75,8 +71,7 @@ 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.4 lua-5.4 lua5.3 lua-5.3 lua5.2 lua-5.2) | ||||
| 	pkg_search_module (Lua REQUIRED lua>=5.2 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 | ||||
| @ -250,7 +245,7 @@ if (NOT GLIB_COMPILE_SCHEMAS_EXECUTABLE) | ||||
| endif () | ||||
| 
 | ||||
| set (GSETTINGS_DIR "${PROJECT_SOURCE_DIR}/share") | ||||
| set (GSETTINGS_SCHEMAS "${GSETTINGS_DIR}/${PROJECT_NAME}.gschema.xml") | ||||
| set (GSETTINGS_SCHEMAS "${GSETTINGS_DIR}/org.logdiag.gschema.xml") | ||||
| 
 | ||||
| if (OPTION_NOINSTALL) | ||||
| 	set (GSETTINGS_COMPILED_SCHEMA "${PROJECT_BINARY_DIR}/gschemas.compiled") | ||||
| @ -396,8 +391,7 @@ endif () | ||||
| 
 | ||||
| install (DIRECTORY docs/user-guide DESTINATION share/doc/${PROJECT_NAME}) | ||||
| install (DIRECTORY share/library DESTINATION share/${PROJECT_NAME}) | ||||
| install (FILES ${GSETTINGS_SCHEMAS} DESTINATION share/glib-2.0/schemas | ||||
| 	RENAME "${project_ID}.gschema.xml") | ||||
| install (FILES ${GSETTINGS_SCHEMAS} DESTINATION share/glib-2.0/schemas) | ||||
| install (CODE " # DESTDIR is not in use on Windows (WIN32 is only native here!) | ||||
| 	if (WIN32 OR \"\$ENV{DESTDIR}\" STREQUAL \"\") | ||||
| 		execute_process (COMMAND \"${GLIB_COMPILE_SCHEMAS_EXECUTABLE}\" | ||||
| @ -452,7 +446,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 "0BSD") | ||||
| set (CPACK_RPM_PACKAGE_LICENSE "ISC") | ||||
| set (CPACK_RPM_PACKAGE_URL "${project_URL}") | ||||
| 
 | ||||
| set (CPACK_SOURCE_GENERATOR "TGZ;ZIP") | ||||
|  | ||||
							
								
								
									
										15
									
								
								README.adoc
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								README.adoc
									
									
									
									
									
								
							| @ -10,10 +10,8 @@ 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 using Arch Linux's | ||||
| https://aur.archlinux.org/packages/logdiag-git[AUR], | ||||
| or as a https://git.janouch.name/p/nixexprs[Nix derivation]. | ||||
| Regular releases are sporadic.  git master should be stable enough.  You can get | ||||
| a package with the latest development version from Archlinux's AUR. | ||||
| 
 | ||||
| Windows installers can be downloaded from | ||||
| https://git.janouch.name/p/logdiag/releases[the Releases page on Gitea]. | ||||
| @ -68,14 +66,11 @@ FindPkgConfig.cmake module to say: | ||||
|  separate_arguments(_pkgconfig_invoke_result UNIX_COMMAND "${_pkgconfig_invoke_result}") | ||||
| 
 | ||||
| Run the following command in the directory with source files to automatically | ||||
| fetch and set up all dependencies: | ||||
| fetch and set up all dependencies (note that Windows XP is no longer able to | ||||
| download from HTTPS sources, you'll have to run this externally): | ||||
| 
 | ||||
|  > cmake -P Win32Depends.cmake | ||||
| 
 | ||||
| Note that on Windows XP, CMake will fail to download those files, even with | ||||
| https://emailarchitect.net/easendmail/sdk/html/object_tls12.htm[updates]. | ||||
| You will have to run the script externally. | ||||
| 
 | ||||
| Reserve a directory for an out-of-source build and let CMake prepare the build: | ||||
| 
 | ||||
|  > mkdir build | ||||
| @ -108,7 +103,7 @@ Just install MinGW-w64 and let automation take care of the rest. | ||||
| 
 | ||||
| Alternatively, for an unnecessarily bloated MSYS2-based 64-bit build: | ||||
| 
 | ||||
|  $ sh -e Win64Depends.sh | ||||
|  $ sh Win64Depends.sh | ||||
|  $ cmake -DCMAKE_TOOLCHAIN_FILE=ToolchainCrossWin64.cmake \ | ||||
|    -DCMAKE_BUILD_TYPE=Release -B build | ||||
|  $ cmake --build build -- package | ||||
|  | ||||
| @ -5,11 +5,12 @@ set (CMAKE_C_COMPILER "i586-mingw32msvc-gcc") | ||||
| set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++") | ||||
| set (CMAKE_RC_COMPILER "i586-mingw32msvc-windres") | ||||
| 
 | ||||
| # Remember to set WINEPATH for library dependencies | ||||
| set (CMAKE_CROSSCOMPILING_EMULATOR "wine") | ||||
| # Not needed to crosscompile an installation package | ||||
| #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) | ||||
| 
 | ||||
|  | ||||
| @ -5,11 +5,12 @@ set (CMAKE_C_COMPILER "i686-w64-mingw32-gcc") | ||||
| set (CMAKE_CXX_COMPILER "i686-w64-mingw32-g++") | ||||
| set (CMAKE_RC_COMPILER "i686-w64-mingw32-windres") | ||||
| 
 | ||||
| # Remember to set WINEPATH for library dependencies | ||||
| set (CMAKE_CROSSCOMPILING_EMULATOR "wine") | ||||
| # Not needed to crosscompile an installation package | ||||
| #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) | ||||
| 
 | ||||
|  | ||||
| @ -5,11 +5,12 @@ 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") | ||||
| 
 | ||||
| # Remember to set WINEPATH for library dependencies | ||||
| set (CMAKE_CROSSCOMPILING_EMULATOR "wine64") | ||||
| # Not needed to crosscompile an installation package | ||||
| #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) | ||||
| 
 | ||||
|  | ||||
| @ -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,8 +27,7 @@ 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]) }' "$@" | tee db.want | \ | ||||
| 	while IFS= read -r name | ||||
| 	} for (i = 0; i < ARGC; i++) get(ARGV[i]) }' "$@" | while IFS= read -r name | ||||
| 	do | ||||
| 		status Fetching "$name" | ||||
| 		[ -f "packages/$name" ] || curl -#o "packages/$name" "$repository/$name" | ||||
| @ -45,9 +44,9 @@ extract() { | ||||
| 	for subdir in * | ||||
| 	do [ -d "$subdir" -a "$subdir" != packages ] && rm -rf -- "$subdir" | ||||
| 	done | ||||
| 	while IFS= read -r name | ||||
| 	do bsdtar -xf "packages/$name" --strip-components 1 | ||||
| 	done < db.want | ||||
| 	for i in packages/* | ||||
| 	do bsdtar -xf "$i" --strip-components 1 mingw64 | ||||
| 	done | ||||
| } | ||||
| 
 | ||||
| configure() { | ||||
| @ -56,16 +55,15 @@ 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/pkgconfig/*.pc 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,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 | ||||
|  | ||||
| @ -10,7 +10,6 @@ | ||||
| 
 | ||||
| #define PROJECT_NAME "${PROJECT_NAME}" | ||||
| #define PROJECT_VERSION "${PROJECT_VERSION}" | ||||
| #define PROJECT_ID "${project_ID}" | ||||
| #define PROJECT_URL "${project_URL}" | ||||
| 
 | ||||
| #cmakedefine OPTION_NOINSTALL | ||||
|  | ||||
| @ -2591,9 +2591,7 @@ on_drag_motion (GtkWidget *widget, GdkDragContext *drag_ctx, | ||||
| 	/* Discard leftovers from any previous unsuccessful drag. */ | ||||
| 	if (self->priv->dnd_left) | ||||
| 	{ | ||||
| 		/* The Wayland backend does a leave-drop-leave sequence. */ | ||||
| 		if (self->priv->dnd_symbol) | ||||
| 			g_object_unref (self->priv->dnd_symbol); | ||||
| 		g_object_unref (self->priv->dnd_symbol); | ||||
| 		self->priv->dnd_symbol = NULL; | ||||
| 		self->priv->dnd_left = FALSE; | ||||
| 	} | ||||
|  | ||||
| @ -1,2 +1,3 @@ | ||||
| VOID:OBJECT,OBJECT | ||||
| VOID:OBJECT,STRING | ||||
| VOID:DOUBLE,DOUBLE | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| <schemalist> | ||||
| 	<schema id="name.janouch.logdiag" path="/name/janouch/logdiag/" gettext-domain="logdiag"> | ||||
| 	<schema id="org.logdiag" path="/org/logdiag/" gettext-domain="logdiag"> | ||||
| 		<key name="show-main-toolbar" type="b"> | ||||
| 			<default>true</default> | ||||
| 			<summary>Whether to show the main toolbar</summary> | ||||
| @ -14,3 +14,4 @@ | ||||
| 		</key> | ||||
| 	</schema> | ||||
| </schemalist> | ||||
| 
 | ||||
| @ -389,7 +389,7 @@ ld_window_main_init (LdWindowMain *self) | ||||
| 	gtk_widget_show_all (GTK_WIDGET (self)); | ||||
| 
 | ||||
| 	/* Set up GSettings. */ | ||||
| 	priv->settings = g_settings_new (PROJECT_ID); | ||||
| 	priv->settings = g_settings_new ("org." PROJECT_NAME); | ||||
| 
 | ||||
| 	g_settings_bind (priv->settings, "show-main-toolbar", | ||||
| 		gtk_action_group_get_action (priv->action_group, | ||||
|  | ||||
| @ -127,16 +127,16 @@ main (int argc, char *argv[]) | ||||
| 	textdomain (GETTEXT_DOMAIN); | ||||
| 
 | ||||
| #ifdef PROJECT_GSETTINGS_DIR | ||||
| 	/* This is enabled when the build is set up for development,
 | ||||
| 	 * so that the application can find its schema. It might also find use | ||||
| 	 * when installing the application into a location that's missing from | ||||
| 	/* This is enabled when the build is set up for developing, so that the
 | ||||
| 	 * application can find its schema. It might also find use when | ||||
| 	 * installing the application into a location that's missing from | ||||
| 	 * g_get_system_data_dirs(), for example /usr/local or ~/.local. | ||||
| 	 */ | ||||
| 	g_setenv ("GSETTINGS_SCHEMA_DIR", PROJECT_GSETTINGS_DIR, 0); | ||||
| #endif /* PROJECT_GSETTINGS_DIR */ | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| 	/* Don't be unneccessarily limited by the system's ANSI codepage. */ | ||||
| 	/* Don't be unneccessarily limited by the system ANSI codepage. */ | ||||
| 	/* g_win32_get_command_line() should replace this code for GLib >= 2.40. */ | ||||
| 	argv_overriden = get_utf8_args (&argc, &argv); | ||||
| 	if (argv_overriden) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user