mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Merge branch 'mingw-port-cleanup' of git://github.com/dirkhh/subsurface
* 'mingw-port-cleanup' of git://github.com/dirkhh/subsurface: Fix Windows install destination Get rid of the terminal window that is displayed under Windows Add first cut of the mingw cross build spec file + nsi file Get icons working correctly under Windows
This commit is contained in:
commit
951f601aad
7 changed files with 234 additions and 2 deletions
4
Makefile
4
Makefile
|
@ -34,6 +34,8 @@ ifeq ($(CC), i686-w64-mingw32-gcc)
|
|||
LIBDIVECOMPUTERDIR = /usr/i686-w64-mingw32/sys-root/mingw/include/libdivecomputer
|
||||
LIBDIVECOMPUTERINCLUDES = `$(PKGCONFIG) --cflags libdivecomputer`
|
||||
LIBDIVECOMPUTERARCHIVE = `$(PKGCONFIG) --libs libdivecomputer`
|
||||
RESFILE = packaging/windows/subsurface.res
|
||||
LDFLAGS += -Wl,-subsystem,windows
|
||||
else
|
||||
|
||||
libdc-local := $(wildcard /usr/local/lib/libdivecomputer.a)
|
||||
|
@ -76,7 +78,7 @@ LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread
|
|||
|
||||
OBJS = main.o dive.o profile.o info.o equipment.o divelist.o \
|
||||
parse-xml.o save-xml.o libdivecomputer.o print.o uemis.o \
|
||||
gtk-gui.o
|
||||
gtk-gui.o $(RESFILE)
|
||||
|
||||
$(NAME): $(OBJS)
|
||||
$(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
|
||||
|
|
|
@ -552,7 +552,11 @@ static void about_dialog(GtkWidget *w, gpointer data)
|
|||
GdkPixbuf *logo = NULL;
|
||||
|
||||
if (need_icon) {
|
||||
#ifndef WIN32
|
||||
GtkWidget *image = gtk_image_new_from_file("subsurface.svg");
|
||||
#else
|
||||
GtkWidget *image = gtk_image_new_from_file("subsurface.ico");
|
||||
#endif
|
||||
|
||||
if (image) {
|
||||
logo = gtk_image_get_pixbuf(GTK_IMAGE(image));
|
||||
|
@ -823,7 +827,7 @@ void init_ui(int argc, char **argv)
|
|||
#ifndef WIN32
|
||||
gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.svg", NULL);
|
||||
#else
|
||||
gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.bmp", NULL);
|
||||
gtk_window_set_icon_from_file(GTK_WINDOW(win), "subsurface.ico", NULL);
|
||||
#endif
|
||||
g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(on_delete), NULL);
|
||||
g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(on_destroy), NULL);
|
||||
|
|
112
packaging/windows/mingw-subsurface.spec
Normal file
112
packaging/windows/mingw-subsurface.spec
Normal file
|
@ -0,0 +1,112 @@
|
|||
%define __strip %{_mingw32_strip}
|
||||
%define __objdump %{_mingw32_objdump}
|
||||
%define _use_internal_dependency_generator 0
|
||||
%define __find_requires %{_mingw32_findrequires}
|
||||
%define __find_provides %{_mingw32_findprovides}
|
||||
%define __os_install_post %{_mingw32_debug_install_post} \
|
||||
%{_mingw32_install_post}
|
||||
|
||||
|
||||
Name: mingw32-subsurface
|
||||
Summary: Simple Dive Log Program
|
||||
Version: 1.1
|
||||
Release: 5
|
||||
License: GPLv2
|
||||
URL: http://subsurface.hohndel.org
|
||||
Source0: subsurface-1.1.tar.gz
|
||||
BuildArch: noarch
|
||||
BuildRequires: mingw32-cross-pkg-config mingw32-cross-gcc
|
||||
BuildRequires: mingw32-gtk2-devel mingw32-glib2-devel mingw32-libxml2-devel
|
||||
BuildRequires: mingw32-libdivecomputer0-devel mingw32-gconf2-devel
|
||||
BuildRequires: mingw32-pthreads-devel
|
||||
BuildRequires: mingw32-gtk2 mingw32-glib2 mingw32-libxml2
|
||||
BuildRequires: mingw32-libdivecomputer0 mingw32-gconf2
|
||||
BuildRequires: mingw32-pthreads mingw32-zlib
|
||||
|
||||
Group: Productivity/Other
|
||||
|
||||
%description
|
||||
subsurface is a simple dive log program written in C
|
||||
|
||||
%{_mingw32_debug_package}
|
||||
|
||||
%prep
|
||||
%setup -q -n subsurface-1.1
|
||||
|
||||
%build
|
||||
make CC=%{_mingw32_target}-gcc PKGCONFIG=%{_mingw32_target}-pkg-config XML2CONFIG=%{_mingw32_bindir}/xml2-config NAME=subsurface.exe
|
||||
|
||||
%clean
|
||||
#rm -rf %{buildroot}
|
||||
|
||||
%install
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_mingw32_bindir}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_mingw32_datadir}
|
||||
install -m 755 subsurface.exe $RPM_BUILD_ROOT/%{_mingw32_bindir}/subsurface.exe
|
||||
install -m 644 subsurface.svg $RPM_BUILD_ROOT/%{_mingw32_datadir}/subsurface.svg
|
||||
# this seems like a really ugly hack
|
||||
install -m 755 %{_mingw32_bindir}/libdivecomputer-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libdivecomputer-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libcairo-2.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libcairo-2.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgconf-2-4.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgconf-2-4.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgdk-win32-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgdk-win32-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libglib-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libglib-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgtk-win32-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgtk-win32-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libpango-1.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libpango-1.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libpangocairo-1.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libpangocairo-1.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/pthreadGC2.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/pthreadGC2.dll
|
||||
install -m 755 %{_mingw32_bindir}/libxml2-2.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libxml2-2.dll
|
||||
install -m 755 %{_mingw32_bindir}/libfontconfig-1.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libfontconfig-1.dll
|
||||
install -m 755 %{_mingw32_bindir}/libfreetype-6.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libfreetype-6.dll
|
||||
install -m 755 %{_mingw32_bindir}/libpixman-1-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libpixman-1-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libpng15-15.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libpng15-15.dll
|
||||
install -m 755 %{_mingw32_bindir}/zlib1.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/zlib1.dll
|
||||
install -m 755 %{_mingw32_bindir}/libintl-8.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libintl-8.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgmodule-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgmodule-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgdk_pixbuf-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgdk_pixbuf-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgobject-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgobject-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgio-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgio-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libjasper-1.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libjasper-1.dll
|
||||
install -m 755 %{_mingw32_bindir}/libgthread-2.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libgthread-2.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libffi-5.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libffi-5.dll
|
||||
install -m 755 %{_mingw32_bindir}/libjpeg-8.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libjpeg-8.dll
|
||||
install -m 755 %{_mingw32_bindir}/libtiff-3.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libtiff-3.dll
|
||||
install -m 755 %{_mingw32_bindir}/libpangoft2-1.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libpangoft2-1.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libpangowin32-1.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libpangowin32-1.0-0.dll
|
||||
install -m 755 %{_mingw32_bindir}/libatk-1.0-0.dll $RPM_BUILD_ROOT/%{_mingw32_bindir}/libatk-1.0-0.dll
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_mingw32_bindir}/subsurface.exe
|
||||
%{_mingw32_bindir}/libdivecomputer-0.dll
|
||||
%{_mingw32_bindir}/libcairo-2.dll
|
||||
%{_mingw32_bindir}/libgconf-2-4.dll
|
||||
%{_mingw32_bindir}/libgdk-win32-2.0-0.dll
|
||||
%{_mingw32_bindir}/libglib-2.0-0.dll
|
||||
%{_mingw32_bindir}/libgtk-win32-2.0-0.dll
|
||||
%{_mingw32_bindir}/libpango-1.0-0.dll
|
||||
%{_mingw32_bindir}/libpangocairo-1.0-0.dll
|
||||
%{_mingw32_bindir}/pthreadGC2.dll
|
||||
%{_mingw32_bindir}/libxml2-2.dll
|
||||
%{_mingw32_bindir}/libfontconfig-1.dll
|
||||
%{_mingw32_bindir}/libfreetype-6.dll
|
||||
%{_mingw32_bindir}/libpixman-1-0.dll
|
||||
%{_mingw32_bindir}/libpng15-15.dll
|
||||
%{_mingw32_bindir}/zlib1.dll
|
||||
%{_mingw32_bindir}/libintl-8.dll
|
||||
%{_mingw32_bindir}/libgmodule-2.0-0.dll
|
||||
%{_mingw32_bindir}/libgdk_pixbuf-2.0-0.dll
|
||||
%{_mingw32_bindir}/libgobject-2.0-0.dll
|
||||
%{_mingw32_bindir}/libgio-2.0-0.dll
|
||||
%{_mingw32_bindir}/libjasper-1.dll
|
||||
%{_mingw32_bindir}/libgthread-2.0-0.dll
|
||||
%{_mingw32_bindir}/libffi-5.dll
|
||||
%{_mingw32_bindir}/libjpeg-8.dll
|
||||
%{_mingw32_bindir}/libtiff-3.dll
|
||||
%{_mingw32_bindir}/libpangoft2-1.0-0.dll
|
||||
%{_mingw32_bindir}/libpangowin32-1.0-0.dll
|
||||
%{_mingw32_bindir}/libatk-1.0-0.dll
|
||||
|
||||
%{_mingw32_datadir}/subsurface.svg
|
||||
|
||||
|
||||
%changelog
|
BIN
packaging/windows/subsurface.ico
Normal file
BIN
packaging/windows/subsurface.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
89
packaging/windows/subsurface.nsi
Normal file
89
packaging/windows/subsurface.nsi
Normal file
|
@ -0,0 +1,89 @@
|
|||
|
||||
# define the name of the installer
|
||||
outfile "subsurface-installer.exe"
|
||||
Name subsurface
|
||||
|
||||
VIProductVersion "1.1.0.0"
|
||||
VIAddVersionKey ProductName subsurface
|
||||
VIAddVersionKey ProductVersion "1.1"
|
||||
VIAddVersionKey FileVersion "1.1"
|
||||
|
||||
Icon ..\share\subsurface.ico
|
||||
|
||||
|
||||
RequestExecutionLevel admin
|
||||
|
||||
Function .onInit
|
||||
MessageBox MB_YESNO "This will install subsurface. Do you wish to continue?" IDYES gogogo
|
||||
Abort
|
||||
gogogo:
|
||||
FunctionEnd
|
||||
|
||||
# define the directory to install to, the desktop in this case as specified
|
||||
# by the predefined $DESKTOP variable
|
||||
installDir "$PROGRAMFILES\subsurface"
|
||||
|
||||
# default section
|
||||
Section
|
||||
|
||||
# define the output path for this file
|
||||
setOutPath $INSTDIR
|
||||
|
||||
SetShellVarContext all
|
||||
|
||||
# create directory in the Start menu
|
||||
CreateDirectory "$SMPROGRAMS\subsurface"
|
||||
|
||||
# create Start menu shortcut
|
||||
createShortCut "$SMPROGRAMS\subsurface\subsurface.lnk" "$INSTDIR\subsurface.exe"
|
||||
|
||||
#create uninstaller and corresponding shortcut in Start menu
|
||||
writeUninstaller "$INSTDIR\subsurface-uninstall.exe"
|
||||
createShortCut "$SMPROGRAMS\subsurface\uninstall-subsurface.lnk" "$INSTDIR\subsurface-uninstall.exe"
|
||||
|
||||
# define what to install and place it in the output path
|
||||
file subsurface.exe
|
||||
file libatk-1.0-0.dll
|
||||
file libcairo-2.dll
|
||||
file libdivecomputer-0.dll
|
||||
file libffi-5.dll
|
||||
file libfontconfig-1.dll
|
||||
file libfreetype-6.dll
|
||||
file libgdk_pixbuf-2.0-0.dll
|
||||
file libgdk-win32-2.0-0.dll
|
||||
file libgio-2.0-0.dll
|
||||
file libglib-2.0-0.dll
|
||||
file libgmodule-2.0-0.dll
|
||||
file libgobject-2.0-0.dll
|
||||
file libgthread-2.0-0.dll
|
||||
file libgtk-win32-2.0-0.dll
|
||||
file libintl-8.dll
|
||||
file libjasper-1.dll
|
||||
file libjpeg-8.dll
|
||||
file libpango-1.0-0.dll
|
||||
file libpangocairo-1.0-0.dll
|
||||
file libpangoft2-1.0-0.dll
|
||||
file libpangowin32-1.0-0.dll
|
||||
file libpixman-1-0.dll
|
||||
file libpng15-15.dll
|
||||
file libtiff-3.dll
|
||||
file libxml2-2.dll
|
||||
file pthreadGC2.dll
|
||||
file zlib1.dll
|
||||
file /oname=subsurface.ico ..\\share\\subsurface.ico
|
||||
file /oname=subsurface.bmp ..\\share\\subsurface.bmp
|
||||
file /oname=subsurface.svg ..\\share\\subsurface.svg
|
||||
|
||||
|
||||
sectionEnd
|
||||
|
||||
section "uninstall"
|
||||
SetShellVarContext all
|
||||
delete "$INSTDIR\subsurface-uninstall.exe"
|
||||
delete "$INSTDIR\*.*"
|
||||
RMDir "$INSTDIR"
|
||||
delete "$SMPROGRAMS\subsurface\uninstall-subsurface.lnk"
|
||||
delete "$SMPROGRAMS\subsurface\subsurface.lnk"
|
||||
RMDir "$SMPROGRAMS\subsurface"
|
||||
sectionEnd
|
||||
|
25
packaging/windows/subsurface.rc
Normal file
25
packaging/windows/subsurface.rc
Normal file
|
@ -0,0 +1,25 @@
|
|||
1 VERSIONINFO
|
||||
FILEVERSION 1,1,0,0
|
||||
PRODUCTVERSION 1,1,0,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "080904E4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "subsurface team"
|
||||
VALUE "FileDescription", "subsurface dive log"
|
||||
VALUE "FileVersion", "1.1"
|
||||
VALUE "InternalName", "subsurface"
|
||||
VALUE "LegalCopyright", "Linus Torvalds, Dirk Hohndel and others"
|
||||
VALUE "OriginalFilename", "subsurface.exe"
|
||||
VALUE "ProductName", "subsurface"
|
||||
VALUE "ProductVersion", "1.1"
|
||||
END
|
||||
END
|
||||
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x809, 1252
|
||||
END
|
||||
END
|
||||
ID ICON "subsurface.ico"
|
BIN
packaging/windows/subsurface.res
Normal file
BIN
packaging/windows/subsurface.res
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue