Re: Fwd: Re: Calligra translations are enabled
"Aaron J. Seigo" <[email protected]> Fri, 17 Dec 2010 11:49:06 -0800
| Newsgroups | gmane.comp.kde.devel.koffice |
|---|---|
| Message-ID | <[email protected]> |
On Friday, December 17, 2010, Cyrille Berger Skott wrote:
> installed at the same time. All in all, it is a big effort, and it has a
it's often easier to understand these things when looking at actual numbers.
the two things needed are:
* unique library prefixes
* unique header install prefix
there are 31 CMakeLists.txt in calligra/libs/, not all of which have build
targets in them (but most do). the target names would need to be changed in
each, e.g. instead of "flake" sth like "caligraflake".
that's boring work, but it's a day's effort by the clock on the wall. it's a
few hours of actual editting CMakeList.txt files, the rest would be watching
the build to ensure success.
the install prefixes also need to be cleaned up; right now each library just
installs a bunch of headers right into ${INCLUDE_INSTALL_DIR}, sometimes in
subdirs though they are not very well named imho (styles/? seriously, no other
project might come up with that?) in any case, this can be fixed in
calligra/CMakeLists.txt by appending a prefix, e.g. calligra/, to
${INCLUDE_INSTALL_DIR}. the internal structure would remain the same, so no
major changes there.
in calligra/CMakeLists.txt all the prefixes for the libraries are included,
and those wouldn't change for the apps in the calligra repo. so no work needed
there.
the last issue is naming of the binaries, and that's easy using open source
"common law": whoever the recognized maintainer of the application is gets to
keep the naming. whoever forks away from the maintainer gets to change, which
means in the case of Calligra that some work on kword needs to be done.
(looking in the repo, it hasn't been). the other renames that Calligra has
commited to (stage, numbers, etc.) are not completed either.
there are 782 "target_link_libraries" lines in the CMakeLists.txt in calligra.
they would need to be adjusted to reflect library name changes, such as
"komain" to "calligramain" (that lib appears 154 times in the CMakLists.txt).
fortunately, this stuff is trivially scriptable:
for i in `find . -name CMakeLists.txt`;
do perl -pi -e 's,komain,calligramain,g' $i;
done
(yes, that'll screw up the CMakeLists.txt for the komain library itself, but
just git checkout that one file after the above is run)
so it means making a list of library name changes and scripting the resulting
changes to the other CMakeLists.txt files.
then there are things like cmake/modules/FindKOfficeLibs.cmake.in that would
need to be transition to FindCalligraLibs.cmake.
so .. a fair amount of work indeed, but it's all CMakeLists.txt workso not
particularly hard and not particularly risky either. it can even happen in a
git branch while everyone else continues to work on the code.
you also have people here like Brian who are just looking for some way to get
involved. to quote his email:
"I don't know what all the issues are.
I'm new here, and have been holding back on contributing, mostly because I
don't know which project I'm supposed to help with; Project A, B or 6 of
9."
now, assuming Brian is actually telling it like it is, maybe he would like to
take this CMakeLists.txt work on so that Calligra becomes fully self-contained
on install. as a new contributor, he'll need some help and will certainly have
questions as he goes .. but it's perfect "first time contributor" work because
it isn't deeply technical _and_ Brian will get an awesome overview of the
entire codebase.
> near null gain.
i think the gain can be summarized as:
* Calligra really stands on its own two feet, with its own name
* opportunity clean up of the somewhat sloppy header install targets
* opportunity to bring a new contributor (in this case Brian) into the project
obviously, it'd be up to the Calligra team to decide if it is, ultimately,
worth it.
personally, i'd want to have my project using my project's name, and new
contributors are worth their weight in gold. or valgrind logs. whichever your
prerfered metric is. ;)
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Qt Development Frameworks
_______________________________________________
koffice-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/koffice-devel
signature.asc
(application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) iEYEABECAAYFAk0LvrQACgkQ1rcusafx20PVbACdGSBJQYif3nj8APx2ZOWiYLIo hpcAniqzEJ3RxWD/O/RDX1KqFnBcc1F2 =IJAu -----END PGP SIGNATURE-----