Re: kdewebdev (Quanta)
Ralf Habacker <[email protected]> Sat, 6 Aug 2005 17:50:16 +0200
| Newsgroups | gmane.comp.kde.devel.cygwin |
|---|---|
| Message-ID | <[email protected]> |
Am Dienstag, 2. August 2005 19:05 schrieb David H Gunnells:
> Hello,
>
> I recently installed cygwin and KDE 3.4.1 according to
> http://webdev.cegit.de/snapshots/kde-cygwin/kde/kde3.4/ (thanks Ralf!)
> but noticed that http://sourceforge.net/projects/kde-cygwin/ has only
> old releases available for download. Where might I find a more current
> version of Quanta (kdewebdev) for KDE on Windows than 3.2(!)? Thanks for
> taking the time to get KDE on winblows!
>
There is currently no out of the box release of quanta. I've tried to build a
release from http://websvn.kde.org/branches/KDE/3.4/kdewebdev/ but got two
problems. For those who like to fix this by themself here are some notes:
First, it seems that the recent kdelibs 3.4 has problems unpacking gzipped
files, which I hadn't found yet.
I have only a workaround by using tar files instead of gzipped tar files for
quanta's toolbars. It requires applying the quanta-cygwin.patch in the
checkout kwebdev dir and the following command line for converting the
installed toolbar files.
find /opt/kde3.4/share/apps/quanta/toolbars/ -name '*.tgz' -exec gzip -d {}
\;
The appended quanta-gzip-filter-testcase.patch could be applied to kwebdev dir
to get a ktartest application in quanta/src to see that unzipping goes wrong.
The second problem is that quanta consumes 99% cpu usage after starting. An
strace using quanta's pid (strace -p <quanta-pid>) shows quanta loops through
network readv calls and got error messages of 10054=WSAECONNRESET. Currently
I have not idea what's going wrong.
some hints for configuring kwebdev from cvs (basic development package like
gcc autotools and so one are required)
1ยท checkout unsermake from
http://websvn.kde.org/trunk/kdenonbeta/unsermake/?rev=443540
2. checkout kwebdev from http://websvn.kde.org/branches/KDE/3.4/kdewebdev/
3. enter kwebdev source root and run
unsermake -f Makefile.cvs
4. configure using the appended configure.cygwin
. ./configure.cygwin
Regards
--
Ralf Habacker
_______________________________________________
kde-cygwin mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-cygwin
configure.cygwin
(text/plain, 399 B)
./configure LDFLAGS="-Wl,--enable-runtime-pseudo-reloc -L/usr/X11R6/lib -lXext -lSM -lICE -lX11 -L/opt/qt/3.3/lib -lqt-mt -Wl,--script,/opt/qt/3.3/mkspecs/cygwin-g++/i386pe.x-no-rdata -ldcop -lkdecore -lkio -lkdeui" \ --disable-rpath \ --disable-closure \ --prefix=/opt/kde3.4 \ --with-qt-dir=/opt/qt/3.3 \
quanta-cygwin.patch
(text/x-diff, 1.8 KB)
Index: quanta/src/quanta.cpp
===================================================================
--- quanta/src/quanta.cpp (revision 442913)
+++ quanta/src/quanta.cpp (working copy)
@@ -2686,8 +2688,11 @@
KURL tempURL;
tempURL.setPath(tempFileName);
saveToolbarToFile(toolbarName, tempURL);
-
+#ifdef __CYGWIN__
+ return tempFileName + ".toolbar.tar";
+#else
return tempFileName + ".toolbar.tgz";
+#endif
}
/** Sends a toolbar in mail. */
@@ -3515,10 +3520,15 @@
KTempDir* tempDir = new KTempDir(tmpDir);
tempDir->setAutoDelete(true);
tempDirList.append(tempDir);
+#ifdef __CYGWIN__
+ QString tempFileName=tempDir->name() +"/"+ DTDs::ref()->getDTDNickNameFromName(dtdName).replace(QRegExp("\\s|\\."), "_") + ".tar";
+ //pack the .tag files and the description.rc into a .tar file
+ KTar tar(tempFileName, "application/x-tar");
+#else
QString tempFileName=tempDir->name() +"/"+ DTDs::ref()->getDTDNickNameFromName(dtdName).replace(QRegExp("\\s|\\."), "_") + ".tgz";
-
//pack the .tag files and the description.rc into a .tgz file
KTar tar(tempFileName, "application/x-gzip");
+#endif
tar.open(IO_WriteOnly);
KURL dirURL;
Index: kommander/widgets/Makefile.am
===================================================================
--- kommander/widgets/Makefile.am (revision 442913)
+++ kommander/widgets/Makefile.am (working copy)
@@ -10,7 +10,8 @@
# the libraries to link against.
libkommanderwidgets_la_LIBADD = $(LIB_KIO) \
$(top_builddir)/kommander/widget/libkommanderwidget.la \
- $(top_builddir)/kommander/plugin/libkommanderplugin.la
+ $(top_builddir)/kommander/plugin/libkommanderplugin.la \
+ $(top_builddir)/kommander/factory/libkommanderfactory.la
# which sources should be compiled for widgets
libkommanderwidgets_la_SOURCES = buttongroup.cpp subdialog.cpp checkbox.cpp \
quanta-gzip-filter-testcase.patch
(text/x-diff, 1.8 KB)
Index: Makefile.am
===================================================================
--- quanta/src/Makefile.am (revision 442913)
+++ quanta/src/Makefile.am (working copy)
@@ -8,8 +8,11 @@
LIB_CVSSERVICE = $(top_builddir)/quanta/components/cvsservice/libcvsservice.la $(top_builddir)/lib/compatibility/cvsservice/libcvsservice_compat.la
endif
-bin_PROGRAMS = quanta
+bin_PROGRAMS = quanta ktartest
+ktartest_SOURCES=ktartest.cpp
+ktartest_LDFLAGS=-lkdecore -lkio -lqt-mt $(all_libraries)
+
quanta_SOURCES = quanta_init.cpp quantaview.cpp quantadoc.cpp main.cpp document.cpp kqapp.cpp quanta.cpp dcopwindowmanagerif.skel dcopsettingsif.skel dcopquantaif.skel dcopsettings.cpp dtds.cpp dcopquanta.cpp viewmanager.cpp
--- /dev/null 2005-08-06 17:33:46.667334400 +0200
+++ quanta/src/ktartest.cpp 2005-08-05 20:49:49.264702400 +0200
@@ -0,0 +1,40 @@
+#include <kcmdlineargs.h>
+#include <kapplication.h>
+#include <kaboutdata.h>
+#include <ktar.h>
+#include <karchive.h>
+#include <qfileinfo.h>
+#include <qstring.h>
+#include <kdebug.h>
+
+
+
+//#define private public
+#include <stdio.h>
+#include <kglobalsettings.h>
+#include <ksycoca.h>
+
+int
+main(int argc, char *argv[])
+{
+ KAboutData about("kapptest", "kapptest", "version");
+ KCmdLineArgs::init(argc, argv, &about);
+
+ KApplication a;
+
+ QString fileName = "/opt/kde3.4/share/apps/quanta/toolbars/html/style.toolbar.tar";
+ KTar xtar(fileName);
+ if (xtar.open(IO_ReadOnly))
+ {
+ xtar.close();
+ kdDebug() << "simple open/close" << fileName << " file: " << endl;
+ }
+
+ KTar tar(fileName);
+ if (tar.open(IO_ReadOnly))
+ {
+ QString base = QFileInfo(fileName).baseName();
+ KArchiveFile* file = (KArchiveFile *) tar.directory()->entry(base+".toolbar");
+ kdDebug() << base << " " << fileName << " file: " << file << endl;
+ }
+}