[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: Draft for mail about ci
From:       "L. E. Segovia" <amy () amyspark ! me>
Date:       2023-03-10 11:23:24
Message-ID: 26c729be-c73d-1a83-a535-38c428cb3d59 () amyspark ! me
[Download RAW message or body]

Hi again Ingo,

On 09/03/2023 19:12, Ingo Klöcker wrote:
> On Donnerstag, 9. März 2023 22:21:19 CET L. E. Segovia wrote:
>> Based on the previous emails, it seems a key item wasn't covered:
>>
>> 6) Local builds with 3rdparty deps (replica CI environment)
>>
>>      * uses our custom deps built from 3rdparty folder
>>      * can be rebuilt locally
>>
>> Now, I'm totally unfamiliar with Craft's rationale and how it works, so
>> I have three questions coming from my own experience tinkering with
>> 3rdparty.
>>
>> - Ben had told me, if I'm not mistaken, about make DESTDIR being the
>> workhorse of Craft. I know that CMake may disallow it it in Windows:
>> https://cmake.org/cmake/help/latest/envvar/DESTDIR.html. So, does Craft
>> work with Windows dependencies, whether MSVC or Clang?
> 
> I'm not sure I understand the question. Craft was originally developed to 
> build KDE application on Windows and it works very well with MSVC 2019. It 
> works equally well with MinGW. I don't know anything about builds with Clang 
> on Windows.

For an example, if I can get e.g. the <insert number here> ZIPs that
comprise our dependencies, unpack them all into
C:/Projects/krita/msvc/install, and once I point VS Code's CMake Tools
to that folder, it will configure and build Krita without further
intervention. (Our build.cmd script is able to set such an environment
up today.)

> 
>> - Does KDE sysadmin allow external retrieval of the packages for a
>> developer environment? If so, what's the procedure to recreate it using
>> Craft?
> 
> The Craft cache is available for everyone, i.e. in particular for locally 
> running builds with Craft. Using Craft is really easy once it's set up. 
> (Setting it up is also pretty easy.) https://community.kde.org/Craft
> 
>> - Does Craft require a certain directory layout? In other words, does it
>> support relocatable dependencies outside of Unix-based operating systems?
> 
> Again, I'm not sure I understand what you mean. Since Craft was developed for 
> Windows builds originally, I assume that the answer to your second question is 
> yes. Craft builds all dependencies individually. For the application and all 
> dependencies so called blue prints (written in Python) describe where to find 
> the sources, what the dependencies are, and how to build it.

Same as above, I'm concerned about hidden hardcoded path requirements
that'll only trigger once the modules are unpacked in a personalized
location. Those can be evaded with DLL lookup paths on Windows, but
given that CMake and pkgconfig modules sometimes hardcode them, it can
cause a configuration failure in the first place.

> 
> By the way, the semi-automatic (via manual GitLab jobs) publication of the 
> builds on app stores, e.g. Microsoft Store, is also part of the full GitLab 
> CI/CD story. See
> https://blogs.kde.org/2023/01/16/neochat-published-microsoft-store.
> 
> Regards,
> Ingo

-- 
amyspark 🌸 https://www.amyspark.me
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic