Le 21/08/2014 16:13, Timothy Pearson a écrit :
A few questions/comments... 1.) patch-mkspecs_openbsd-g++_qmake_conf looks like a bit of a hack. Is there a better way to do this so that the chages are only applied when TQt3 is built on a BSD (non-Linux) platform?
This is a patch I've inherited from openbsd qt3 package. I agree the target file should be updated at build time . This patch looks useless anyway since it refers to inexistent QT3 directory, not TQT3.
2.) What is the point of patch-plugins_src_sqldrivers_sqldrivers_pro?
Currently, there is sqlite2 but no sqlite3 in openbsd 5.5. Alas, there is no way to build sqlite2 plugin without sqlite3 plugin in tqt3, because there is no separate build option.
3.) patch-qmake_generators_unix_unixmake2_cpp largely looks OK for merge, with the potential exception of line 385. Why was this added? I can check for Linux compatibility if it is needed for proper BSD compilation. 4.) patch-qmake_generators_unix_unixmake_cpp looks OK for merge.
These are 2 patches I've inherited from openbsd qt3 package. I understand that openbsd library naming convention only allows 2 digits (e.g. libtqt-mt.so.X.Y) not 3 digits (libtqt-mt.so.X.Y.Z) I've no idea about why the line 385 was added, but I bet it can be removed.
5.) We will not be merging patch-src_kernel_ntqstyle.h, but if you could please post the build log without that applied I can fix the real problem in GIT.
There is a weird FTBFS with the private constructor.
g++ -c -pipe -I/usr/local/include/mysql -I/usr/local/include/postgresql -I/usr/local/include/postgresql/server -I/usr/local/include -I/usr/X11R6/include/freetype2 -I/usr/local/include -fno-exceptions -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -Wall -W -O2 -pthread -fPIC -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_NIS -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DQT_DLOPEN_OPENGL -DQT_NO_IMAGEIO_MNG -DQT_BUILTIN_GIF_READER=1 -DQT_NO_STYLE_MAC -DQT_NO_STYLE_AQUA -DQT_NO_STYLE_INTERLACE -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_COMPACT -DQT_NO_STYLE_POCKETPC -DQT_USE_GLIBMAINLOOP -I/usr/ports/pobj/tqt3-3.5.0/trinity-tqt3-14.0.0~pre203+85e2ff9c/mkspecs/openbsd-g++ -I. -I/usr/X11R6/include/freetype2 -I3rdparty/opentype -I/usr/local/include -I../include -I/usr/X11R6/include -I.moc/release-shared-mt/ -o .obj/release-shared-mt/qstyle.o kernel/qstyle.cpp kernel/ntqstyle.h: In member function 'virtual bool TQStyle::widgetActionRequest(const TQStyleControlElementData&, TQStyle::ControlElementFlags, void*, TQStyle::WidgetActionRequest, TQStyleWidgetActionRequestData)': kernel/ntqstyle.h:296: error: 'TQStyleControlElementData::TQStyleControlElementData(const TQStyleControlElementData&)' is private kernel/qstyle.cpp:2487: error: within this context kernel/ntqstyle.h: In member function 'void TQStyle::acceleratorKeypressEventMonitor(TQObject*, TQEvent*)': kernel/ntqstyle.h:296: error: 'TQStyleControlElementData::TQStyleControlElementData(const TQStyleControlElementData&)' is private kernel/qstyle.cpp:2562: error: within this context kernel/ntqstyle.h:296: error: 'TQStyleControlElementData::TQStyleControlElementData(const TQStyleControlElementData&)' is private kernel/qstyle.cpp:2569: error: within this context kernel/ntqstyle.h:296: error: 'TQStyleControlElementData::TQStyleControlElementData(const TQStyleControlElementData&)' is private kernel/qstyle.cpp:2575: error: within this context kernel/ntqstyle.h: In member function 'bool TQStyle::acceleratorsShown() const': kernel/ntqstyle.h:296: error: 'TQStyleControlElementData::TQStyleControlElementData(const TQStyleControlElementData&)' is private kernel/qstyle.cpp:2589: error: within this context kernel/qstyle.cpp: In member function 'T& TQMap<Key, T>::operator[](const Key&) [with Key = void*, T = TQStyleControlElementData]': kernel/qstyle.cpp:2273: instantiated from here kernel/qstyle.cpp:2848: error: 'TQStyleControlElementData::TQStyleControlElementData(const TQStyleControlElementData&)' is private ../include/ntqmap.h:807: error: within this context Makefile:6433: recipe for target '.obj/release-shared-mt/qstyle.o' failed gmake[2]: *** [.obj/release-shared-mt/qstyle.o] Error 1 gmake[2]: Leaving directory '/usr/ports/pobj/tqt3-3.5.0/trinity-tqt3-14.0.0~pre203+85e2ff9c/src' Makefile:40: recipe for target 'sub-src' failed gmake[1]: *** [sub-src] Error 2 gmake[1]: Leaving directory '/usr/ports/pobj/tqt3-3.5.0/trinity-tqt3-14.0.0~pre203+85e2ff9c' Makefile:8: recipe for target 'init' failed gmake: *** [init] Error 2
I don't understand why "TQStyleControlElementData()" (kernel/qstyle.cpp:2562) is using this private constructor instead of the public one. BTW, I have the same problem when trying to build under Cygwin.
6.) patch-src_tools_qmutex_unix_cpp looks OK for merge.
This is a patch I've inherited from openbsd qt3 package. Under openbsd, conversion from (*pthread) to (int) causes a G++ error because variable is losing precision. I've never seen such error under Linux, only warnings ...
7.) patch-src_tools_qstring.cpp looks OK for merge, but we do need to document somewhere that the secured memory feature of TQString is not available except on Linux (unless BSD has a similar feature to keep a specific memory segment out of the swap file). 8.) patch-src_widgets_qlineedit_cpp looks OK for merge, but see previous note in 7.) on documentation and/or fixing the issue.
Agree.
Overall good work! The main thing I want to see at this point is autodetection of BSD so that we don't have to manually apply the first patch for all the others to work.
Thanks Francois