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