summaryrefslogtreecommitdiffstats
path: root/packaging
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2011-10-29 10:02:40 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2011-10-29 10:02:40 -0700
commit667f07d281399414ff683536a848dda71e04d561 (patch)
tree886580bf766a9285441e64ab7d5fd160cb84587a /packaging
parent7f0c866f486eab549e25853bedd2e96b1b211773 (diff)
downloadsubsurface-667f07d281399414ff683536a848dda71e04d561.tar.gz
Add first cut of the mingw cross build spec file + nsi file
These need more work but I'd rather have them here under version control. The spec file appears to successfully build the Windows binaries, given the right tar file to start with. Those binaries are then packed into an rpm file (extermely useless to Windows users). Once the rpm is unpacked one can then use the NSIS compiler and the .nsi file to create a Windows installer. This all is still extremely fragile, but it worked at least once... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'packaging')
-rw-r--r--packaging/windows/mingw-subsurface.spec112
-rw-r--r--packaging/windows/subsurface.nsi89
2 files changed, 201 insertions, 0 deletions
diff --git a/packaging/windows/mingw-subsurface.spec b/packaging/windows/mingw-subsurface.spec
new file mode 100644
index 000000000..e1335de1f
--- /dev/null
+++ b/packaging/windows/mingw-subsurface.spec
@@ -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
diff --git a/packaging/windows/subsurface.nsi b/packaging/windows/subsurface.nsi
new file mode 100644
index 000000000..c4fd48f27
--- /dev/null
+++ b/packaging/windows/subsurface.nsi
@@ -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 "$DESKTOP\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
+