> On Dec. 4, 2015, 9:35 a.m., Chusslove Illich wrote: > > The KI18N_INSTALL macro is also used by KI18n itself, to install its own > > translations. And so do other higher-tier frameworks. So I'm not sure when > > this no-Gettext/no-Python build is supposed to be useful. When one wants to > > omit translations? > > Boudewijn Rempt wrote: > I _never_ install translations. Where would I install them from? Running > "make install" in ki18n doesn't install translations, as far as I can see? I > thought translations get installed by the distribution, or I package them > manually for Windows and OSX. > > So, when I build Krita on OSX or Windows, I first need to build the > dependencies, and ki18n is one of them, but because it mixes up translation > management with providing the translation framework an application uses. So > why should I build Python and Gettext and QtQML for parts of this framework > that never get executed? > > Chusslove Illich wrote: > For me "make" does build translations using msgfmt, and builds some other > translation-related files using a Python script, and "make install" installs > those built files. > > Something is definitely going wrong if QtQML is seen as dependency. What > is needed is QtScript, and that is a real dependency, used at runtime by > translations. It can be disabled, but that will cause degradation in quality > of some translations. > > Chusslove Illich wrote: > Hm, where do you fetch the frameworks to build from? If from the Git > repositories, there are no translations there. But the release tarballs do > contain translations. > > Only Applications are released with separate translation packages. (Which > I think is not a good thing, but hell...) > > Boudewijn Rempt wrote: > Always from git. > > Chusslove Illich wrote: > If you are fetching and installing translations manually by taking only > PO files, that will leave any scripted translations not working. Nothing will > crash, but lower quality fallbacks will be used. If you want to support also > scripted translations, you should fetch and install any modules from script/ > subdirectories of translations in the repository. > > Regarding this patch, I don't see it as appropriate, since it would > basically allow for broken treatment of translations when building release > tarballs. Better just add it to be applied in your build setup. I know, not > nice when something changes and the patch needs to be updated, but it's the > less bad alternative. > > Aleix Pol Gonzalez wrote: > @Chusslove, that might make it harder for people to port applications to > Windows though. (Or Android for that matter) > > Maybe we can find an in-between compromise solution? In the end building > translations is something that only happens when you're about to release. > > Kåre Särs wrote: > I did a compile Kate on Windows exercise this summer and fall (hoping I > will get to the installer soon :) I was expecting _some_ hurdles but I was > shocked about how hard it was to compile KDE Frameworks 5 on Windows without > using emerge. This basically means that big parts of frameworks just was not > a realistic alternative for third-party Windows applications. With changes > that have flown in during this fall the building of frameworks on Windows has > become _much_ easier and is soon a real alternative for Windows Qt projects. > > The gettext and python dependencies are probably the biggest hurdles. My > build script uses a trick inherited from emerge that just downloads a > pre-built binary package for the gettext tools and I had to rename some of > the include directories found in the Python installation because they clashed > with the rest of the build. Requiring python and downloading random packages > from SF is probably not something that any of my colleges at work would like > to add to their Qt projects. > > Translations are really important and needs to be taken care of. I would > like it to be possible to split out the utilities somehow so that I could > compile the application without installing the utilities needed for the > compilation. The parts requiring Python/Gettext would be like CMake a > separate tool and not like Autotools a part of the package. > > @Chusslove: This patch only disables the tools. What would it take to > split the tools out into a separate build? > > Chusslove Illich wrote: > If you don't have Gettext tools and Python, then you cannot properly > build translation files, of KI18n and other packages using it, no matter how > you do it. > > But I don't follow what's going on there for Windows, so better not > bother anyone explaining it. Then, maybe have an explicit option to switch to > a no-op version of the ki18n_install macro, say: > > option(DROP_TRANSLATION_BUILDS "Replace CMake macros for building and > installing translation files with no-op macros" OFF)
I don't really know what "scripted translations" are, but it sounds like a runtime thing for an application, so I don't get how removing a build-time dependency breaks that. I know I must be missing something, because why should I want to build translation files? Why can't I use the translations files that someone else has already built for the few frameworks that we use? I mean, when you install a framework on Linux through your distribution's package manager, that doesn't run gettext and python to do stuff, does it? - Boudewijn ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/126230/#review89109 ----------------------------------------------------------- On Dec. 4, 2015, 12:17 a.m., Boudewijn Rempt wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/126230/ > ----------------------------------------------------------- > > (Updated Dec. 4, 2015, 12:17 a.m.) > > > Review request for Build System, KDE Frameworks, Aleix Pol Gonzalez, > Chusslove Illich, and Luigi Toscano. > > > Repository: ki18n > > > Description > ------- > > When building ki18n as a dependency framework for shipping with an > application, the tools to actually create and manage translations are > superfluous. These tools have some big dependencies that are a pain to have > around, especially gettext on Windows. This patch makes the requirement for > Python and Gettext optional. > > This patch checks the BUILD_TESTING variable to see if the autotests should > be built, because when we just need the library to build an application we > shouldn't waste electicity building the tests (and the Qt5::QML dependency). > > > Diffs > ----- > > CMakeLists.txt 59917fa > cmake/KF5I18NMacros.cmake 53ba812 > > Diff: https://git.reviewboard.kde.org/r/126230/diff/ > > > Testing > ------- > > > Thanks, > > Boudewijn Rempt > >
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel