[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-freedink] Bug#750001: freedink-dfarc: Please update to wxwidgets3.0
From: |
beuc |
Subject: |
[Bug-freedink] Bug#750001: freedink-dfarc: Please update to wxwidgets3.0 |
Date: |
Sat, 31 May 2014 16:23:12 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
I (as upstream) do not wish to update to wxWidgets2.8 yet because
wxGlade (used to generate the *_Base.cpp files) doesn't support it,
and because MXE (for the Windows cross-build) doesn't seem to either
(though it builds 2.9 already).
So while such a move is planned, it's too early to make it.
Please consider supporting both 2.8 and 3.0 in Jessie (as with 2.6/2.8).
It will also make backports easier.
Last, I (as package maintainer) would object to Debian diverging from
upstream, especially with forwarded:no patches, so no NMU please.
- Sylvain
On Sun, Jun 01, 2014 at 01:44:35AM +1200, Olly Betts wrote:
> Package: freedink-dfarc
> Version: 3.10-1.1
> Severity: important
> Tags: patch
> User: address@hidden
> Usertags: wx3.0
>
> Dear maintainer,
>
> We're aiming to migrate the archive to using wxwidgets3.0 instead of
> wxwidgets2.8, and intend to drop wxwidgets2.8 before jessie is released.
>
> I've rebuilt your package using the attached patch, and exercised the
> GUI, though I don't have the dink game itself installed, so didn't I
> didn't test actually launching a game.
>
> I'm happy to NMU this change if you wish me to - just let me know.
>
> Cheers,
> Olly
> diff -Nru freedink-dfarc-3.10/debian/changelog
> freedink-dfarc-3.10/debian/changelog
> --- freedink-dfarc-3.10/debian/changelog 2012-09-28 01:55:08.000000000
> +1200
> +++ freedink-dfarc-3.10/debian/changelog 2014-06-01 01:05:13.000000000
> +1200
> @@ -1,3 +1,10 @@
> +freedink-dfarc (3.10-1.2) unstable; urgency=low
> +
> + * Non-maintainer upload.
> + * Update to use wxwidgets3.0. New patch: wx3.0-compat.patch
> +
> + -- Olly Betts <address@hidden> Sun, 01 Jun 2014 01:05:05 +1200
> +
> freedink-dfarc (3.10-1.1) unstable; urgency=low
>
> * Non-maintainer upload
> diff -Nru freedink-dfarc-3.10/debian/control
> freedink-dfarc-3.10/debian/control
> --- freedink-dfarc-3.10/debian/control 2012-04-28 01:17:26.000000000
> +1200
> +++ freedink-dfarc-3.10/debian/control 2013-11-22 16:38:55.000000000
> +1300
> @@ -3,7 +3,7 @@
> Priority: extra
> Maintainer: Debian Games Team <address@hidden>
> Uploaders: Sylvain Beucler <address@hidden>
> -Build-Depends: debhelper (>= 7.0.50~), autotools-dev, libbz2-dev,
> libwxgtk2.8-dev, intltool (>= 0.31)
> +Build-Depends: debhelper (>= 7.0.50~), autotools-dev, libbz2-dev,
> libwxgtk3.0-dev, intltool (>= 0.31)
> Standards-Version: 3.9.3
> Homepage: http://www.gnu.org/software/freedink/
> Vcs-Git: git://git.debian.org/git/pkg-games/freedink-dfarc.git
> diff -Nru freedink-dfarc-3.10/debian/.gitignore
> freedink-dfarc-3.10/debian/.gitignore
> --- freedink-dfarc-3.10/debian/.gitignore 2008-08-26 08:13:37.000000000
> +1200
> +++ freedink-dfarc-3.10/debian/.gitignore 1970-01-01 12:00:00.000000000
> +1200
> @@ -1,9 +0,0 @@
> -# rules:
> -build-stamp
> -build
> -dfarc2
> -# debhelper:
> -files
> -dfarc2.postinst.debhelper
> -dfarc2.postrm.debhelper
> -dfarc2.substvars
> diff -Nru freedink-dfarc-3.10/debian/patches/series
> freedink-dfarc-3.10/debian/patches/series
> --- freedink-dfarc-3.10/debian/patches/series 1970-01-01 12:00:00.000000000
> +1200
> +++ freedink-dfarc-3.10/debian/patches/series 2013-11-22 16:57:14.000000000
> +1300
> @@ -0,0 +1 @@
> +wx3.0-compat.patch
> diff -Nru freedink-dfarc-3.10/debian/patches/wx3.0-compat.patch
> freedink-dfarc-3.10/debian/patches/wx3.0-compat.patch
> --- freedink-dfarc-3.10/debian/patches/wx3.0-compat.patch 1970-01-01
> 12:00:00.000000000 +1200
> +++ freedink-dfarc-3.10/debian/patches/wx3.0-compat.patch 2014-06-01
> 01:22:43.000000000 +1200
> @@ -0,0 +1,285 @@
> +Description: fix to build with wxwidgets 3.0
> + wxLogError, etc are macros in wx 3.0.
> +Author: Olly Betts <address@hidden>
> +Forwarded: no
> +Last-Update: 2013-11-22
> +
> +--- a/src/InstallVerifyFrame.cpp
> ++++ b/src/InstallVerifyFrame.cpp
> +@@ -166,7 +166,7 @@
> + }
> + else
> + {
> +- ::wxLogError(_("An error occured while extracting the .dmod file."));
> ++ wxLogError(_("An error occured while extracting the .dmod file."));
> + }
> + ::wxRemoveFile(mTarFilePath);
> + // TODO: return error code instead of wxID_OK if something goes wrong
> +--- a/src/DFArcFrame.cpp
> ++++ b/src/DFArcFrame.cpp
> +@@ -343,7 +343,7 @@
> + {
> + wxString description = _("D-Mod files (*.dmod)");
> + wxFileDialog FileDlg(0, _("Select a .dmod file"), _T(""), _T(""),
> description + _T("|*.dmod"),
> +- wxOPEN | wxFILE_MUST_EXIST);
> ++ wxFD_OPEN | wxFD_FILE_MUST_EXIST);
> +
> + if (FileDlg.ShowModal() == wxID_OK)
> + {
> +@@ -912,7 +912,7 @@
> + {
> + if (::wxRmdir(mConfig->mSelectedDmod) == false)
> + {
> +- ::wxLogError(_("Unable to remove D-Mod directory. All
> other files were removed."));
> ++ wxLogError(_("Unable to remove D-Mod directory. All other
> files were removed."));
> + lSuccess = false;
> + }
> + }
> +--- a/src/RecursiveDelete.cpp
> ++++ b/src/RecursiveDelete.cpp
> +@@ -52,7 +52,7 @@
> + {
> + if (::wxRemoveFile(aFilename) == false)
> + {
> +- ::wxLogError(_("Could not remove %s"), aFilename.c_str());
> ++ wxLogError(_("Could not remove %s"), aFilename.c_str());
> + mError = true;
> + }
> + }
> +@@ -70,7 +70,7 @@
> + {
> + if ( ::wxRmdir( aDirname ) == false )
> + {
> +- ::wxLogError(_("Could not remove %s"), aDirname.c_str());
> ++ wxLogError(_("Could not remove %s"), aDirname.c_str());
> + mError = true;
> + }
> + }
> +--- a/src/Package.cpp
> ++++ b/src/Package.cpp
> +@@ -120,7 +120,7 @@
> + {
> + if (mIdentifier->GetValue().Len() == 0)
> + {
> +- ::wxLogError(_("You must provide an identifier filename."));
> ++ wxLogError(_("You must provide an identifier filename."));
> + return;
> + }
> +
> +--- a/src/BZip.cpp
> ++++ b/src/BZip.cpp
> +@@ -297,7 +297,7 @@
> +
> + if ( lDmodFileIn == NULL )
> + {
> +- ::wxLogError(_("Error: Could not open input file '%s' for bzip
> decompression."), mFilePath.c_str());
> ++ wxLogError(_("Error: Could not open input file '%s' for bzip
> decompression."), mFilePath.c_str());
> + return _T("");
> + }
> +
> +@@ -312,7 +312,7 @@
> +
> + if( lError != BZ_OK )
> + {
> +- ::wxLogError(_("Error: Invalid .dmod file selected!"));
> ++ wxLogError(_("Error: Invalid .dmod file selected!"));
> + fclose(lDmodFileIn);
> + return _T("");
> + }
> +@@ -322,7 +322,7 @@
> +
> + if (lTarFileOut == NULL)
> + {
> +- ::wxLogError(_("Error: Could not write to '%s'."),
> lTempFileName.c_str());
> ++ wxLogError(_("Error: Could not write to '%s'."), lTempFileName.c_str());
> + fclose(lDmodFileIn);
> + return _T("");
> + }
> +@@ -354,35 +354,35 @@
> + }
> + else if ( lError == BZ_PARAM_ERROR )
> + {
> +- ::wxLogError( _("Invalid .dmod file specified.") );
> ++ wxLogError( _("Invalid .dmod file specified.") );
> + }
> + else if ( lError == BZ_SEQUENCE_ERROR )
> + {
> +- ::wxLogError( _("Critical program function error: opened
> for write.") );
> ++ wxLogError( _("Critical program function error: opened for
> write.") );
> + }
> + else if ( lError == BZ_IO_ERROR )
> + {
> +- ::wxLogError( _("Could not read .dmod file.") );
> ++ wxLogError( _("Could not read .dmod file.") );
> + }
> + else if ( lError == BZ_UNEXPECTED_EOF )
> + {
> +- ::wxLogError( _("Incomplete .dmod file. Please download it
> again.") );
> ++ wxLogError( _("Incomplete .dmod file. Please download it
> again.") );
> + }
> + else if ( lError == BZ_DATA_ERROR )
> + {
> +- ::wxLogError( _("The .dmod file is corrupted. Please
> download it again.") );
> ++ wxLogError( _("The .dmod file is corrupted. Please
> download it again.") );
> + }
> + else if ( lError == BZ_DATA_ERROR_MAGIC )
> + {
> +- ::wxLogError( _("The file is not a valid .dmod file.") );
> ++ wxLogError( _("The file is not a valid .dmod file.") );
> + }
> + else if ( lError == BZ_MEM_ERROR )
> + {
> +- ::wxLogError( _("Out of memory error.") );
> ++ wxLogError( _("Out of memory error.") );
> + }
> + else
> + {
> +- ::wxLogError( _("An unhandled error occured.") );
> ++ wxLogError( _("An unhandled error occured.") );
> + }
> + wxRemoveFile(lTempFileName);
> + lTempFileName = _T("");
> +--- a/src/Tar.cpp
> ++++ b/src/Tar.cpp
> +@@ -126,8 +126,8 @@
> + FILE* out = fopen(mFilePath.fn_str(), "wb");
> + if (!out)
> + {
> +- ::wxLogError(_("Error: Could not open tar file '%s' for bzip
> compression."), mFilePath.c_str());
> +- return _("ERROR");
> ++ wxLogError(_("Error: Could not open tar file '%s' for bzip
> compression."), mFilePath.c_str());
> ++ return true;
> + }
> +
> + /* libbz2 init */
> +@@ -148,7 +148,7 @@
> +
> + if (iErr != BZ_OK)
> + {
> +- ::wxLogError(_("Error: Could not initialize compression method!"
> ++ wxLogError(_("Error: Could not initialize compression method!"
> + " "
> + "Will not generate a correct .dmod file."
> + " "
> +@@ -181,7 +181,7 @@
> + FILE *in = fopen(fileinfos[i].fullpath.fn_str(), "rb");
> + if (in == NULL)
> + {
> +- ::wxLogFatalError(_("Error: File '%s' not found! Cannot archive
> file."),
> ++ wxLogFatalError(_("Error: File '%s' not found! Cannot archive
> file."),
> + fileinfos[i].fullpath.c_str());
> + throw;
> + }
> +@@ -473,7 +473,7 @@
> + if(!f_In.good())
> + {
> + lError = 1;
> +- ::wxLogFatalError(_("Error: File '%s' not found! Cannot extract
> data."), mFilePath.c_str());
> ++ wxLogFatalError(_("Error: File '%s' not found! Cannot extract
> data."), mFilePath.c_str());
> + throw;
> + }
> +
> +@@ -483,7 +483,7 @@
> + wxFileName::Mkdir(destdir, 0777, wxPATH_MKDIR_FULL); // 0777 minus
> umask
> + if (!::wxDirExists(destdir))
> + {
> +- ::wxLogFatalError(_("Error: Cannot create directory '%s'. Cannot
> extract data."), destdir.c_str());
> ++ wxLogFatalError(_("Error: Cannot create directory '%s'. Cannot extract
> data."), destdir.c_str());
> + throw;
> + }
> + // Move to the directory.
> +@@ -565,7 +565,7 @@
> + {
> + lStreamOut.close();
> + lStreamOut.clear();
> +- ::wxLogError(_("Error: Improperly archived file '%s'.
> Skipping."), lCurrentFilePath.c_str());
> ++ wxLogError(_("Error: Improperly archived file '%s'.
> Skipping."), lCurrentFilePath.c_str());
> + lError = 1;
> + continue;
> + }
> +--- a/src/Config.cpp
> ++++ b/src/Config.cpp
> +@@ -213,7 +213,7 @@
> + strSysRoot += _T("/dinksmallwood.ini");
> + if (!::wxFileExists(strSysRoot))
> + {
> +- ::wxLogVerbose(_("Error: dinksmallwood.ini not found. "
> ++ wxLogVerbose(_("Error: dinksmallwood.ini not found. "
> + "Please run the main game and try running this program
> again."));
> + return fallback_woe_dir;
> + }
> +@@ -221,7 +221,7 @@
> + f_In.open(strSysRoot.fn_str(), std::ios::in);
> + if (!f_In.good())
> + {
> +- ::wxLogVerbose(_("Error opening dinksmallwood.ini"),
> strSysRoot.c_str());
> ++ wxLogVerbose(_("Error opening dinksmallwood.ini"),
> strSysRoot.c_str());
> + return fallback_woe_dir;
> + }
> +
> +--- a/src/Options_Base.cpp
> ++++ b/src/Options_Base.cpp
> +@@ -8,7 +8,7 @@
> +
> +
> + Options_Base::Options_Base(wxWindow* parent, int id, const wxString& title,
> const wxPoint& pos, const wxSize& size, long style):
> +- wxDialog(parent, id, title, pos, size,
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME)
> ++ wxDialog(parent, id, title, pos, size,
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
> + {
> + // begin wxGlade: Options_Base::Options_Base
> + mCloseCheck = new wxCheckBox(this, wxID_ANY, _("Close DFArc on play"));
> +--- a/src/InstallVerifyFrame_Base.cpp
> ++++ b/src/InstallVerifyFrame_Base.cpp
> +@@ -8,7 +8,7 @@
> +
> +
> + InstallVerifyFrame_Base::InstallVerifyFrame_Base(wxWindow* parent, int id,
> const wxString& title, const wxPoint& pos, const wxSize& size, long style):
> +- wxDialog(parent, id, title, pos, size,
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME)
> ++ wxDialog(parent, id, title, pos, size,
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
> + {
> + // begin wxGlade: InstallVerifyFrame_Base::InstallVerifyFrame_Base
> + mDmodDescription = new wxTextCtrl(this, wxID_ANY, _("Preparing..."),
> wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY);
> +--- a/src/InstallVerifyFrame_Base.wxg
> ++++ b/src/InstallVerifyFrame_Base.wxg
> +@@ -3,7 +3,7 @@
> +
> + <application path="" name="" class="" option="0" language="C++"
> top_window="dialog_1" encoding="UTF-8" use_gettext="1" overwrite="1"
> use_new_namespace="1" for_version="2.6" is_template="0">
> + <object class="InstallVerifyFrame_Base" name="dialog_1"
> base="EditDialog">
> +- <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME</style>
> ++ <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</style>
> + <title>DFArc - Install D-Mod</title>
> + <object class="wxBoxSizer" name="lVerticalSizer"
> base="EditBoxSizer">
> + <orient>wxVERTICAL</orient>
> +--- a/src/Options_Base.wxg
> ++++ b/src/Options_Base.wxg
> +@@ -3,7 +3,7 @@
> +
> + <application path="" name="" class="" option="0" language="C++"
> top_window="dialog_1" encoding="UTF-8" use_gettext="1" overwrite="1"
> use_new_namespace="1" for_version="2.6" is_template="0">
> + <object class="Options_Base" name="dialog_1" base="EditDialog">
> +- <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME</style>
> ++ <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</style>
> + <title>DFArc - Options</title>
> + <object class="wxBoxSizer" name="lMainSizer" base="EditBoxSizer">
> + <orient>wxVERTICAL</orient>
> +--- a/src/Package_Base.cpp
> ++++ b/src/Package_Base.cpp
> +@@ -8,7 +8,7 @@
> +
> +
> + Package_Base::Package_Base(wxWindow* parent, int id, const wxString& title,
> const wxPoint& pos, const wxSize& size, long style):
> +- wxDialog(parent, id, title, pos, size,
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME)
> ++ wxDialog(parent, id, title, pos, size,
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
> + {
> + // begin wxGlade: Package_Base::Package_Base
> + lIdentifierBox_staticbox = new wxStaticBox(this, -1, _("Identifier"));
> +--- a/src/Package_Base.wxg
> ++++ b/src/Package_Base.wxg
> +@@ -3,7 +3,7 @@
> +
> + <application path="" name="" class="" option="0" language="C++"
> top_window="dialog_1" encoding="UTF-8" use_gettext="1" overwrite="1"
> use_new_namespace="1" for_version="2.6" is_template="0">
> + <object class="Package_Base" name="dialog_1" base="EditDialog">
> +- <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME</style>
> ++ <style>wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</style>
> + <title>DFArc - Package</title>
> + <object class="wxBoxSizer" name="lMainSizer" base="EditBoxSizer">
> + <orient>wxVERTICAL</orient>
> diff -Nru freedink-dfarc-3.10/debian/rules freedink-dfarc-3.10/debian/rules
> --- freedink-dfarc-3.10/debian/rules 2012-04-28 01:34:34.000000000 +1200
> +++ freedink-dfarc-3.10/debian/rules 2014-06-01 01:33:20.000000000 +1200
> @@ -27,7 +27,9 @@
> # (e.g. not the case for Fedora)
> # Using '--disable-desktopfiles' to avoid installing FreeDesktop files
> # on the builder (rather than on the end-user computer)
> - dh_auto_configure -- --bindir=/usr/games --datadir=/usr/share/games
> --disable-desktopfiles
> + # Pass CPPFLAGS=-DNDEBUG to disable WXDEBUG assertions, which are on by
> + # default in wx3.0.
> + dh_auto_configure -- --bindir=/usr/games --datadir=/usr/share/games
> --disable-desktopfiles CPPFLAGS=-DNDEBUG
>
> override_dh_strip:
> # Create -dbg package with debug symbols for gdb