KDEConnect/Build Craft

From KDE Community Wiki

Craft is an open source meta build system and package manager. It manages dependencies and builds libraries and applications from source, on Windows, Mac, Linux and FreeBSD. Visit here for more information about Craft.

The development environment is contained within the directory, called CraftRoot by default, so feel free to experiment with the Craft installation.


Configure the dependencies

Run the following commands now.

# First, we set the various dependencies of kdeconnect-kde to be installed from the code in the master branch.

craft --set version=master kdeconnect-kde
craft --set version=master craft
craft --set version=master kirigami
craft --set version=master attica
craft --set version=master kde/frameworks/tier3
craft --set version=master dev-utils/snoretoast
craft --set version=master kde/frameworks/tier1/sonnet
craft --set version=master libs/libssh2
craft --set version=master kde/frameworks/tier3/kio
craft --set version=master kde/kdenetwork/kio-extras
craft --set version=master kde/frameworks/tier1/kcoreaddons
craft --set version=master kde/frameworks/tier2/kauth
craft --set version=master kde/frameworks/extra-cmake-modules
craft --set version=master kde/frameworks/tier1/kwindowsystem
craft --set version=master kde/frameworks/tier1/kconfig
craft --set version=master kde/frameworks/tier1/kcodecs
craft --set version=master kde/frameworks/tier1/kwidgetsaddons
craft --set version=master kde/frameworks/tier1/kitemviews 
craft --set version=master kde/frameworks/tier1/kguiaddons 
craft --set version=master kde/frameworks/tier2/kcrash 
craft --set version=master kde/frameworks/tier1/kdbusaddons 
craft --set version=master kde/frameworks/tier2/kdoctools 
craft --set version=master kde/frameworks/tier1/karchive 
craft --set version=master kde/frameworks/tier2/kcompletion 
craft --set version=master kde/frameworks/tier3/kiconthemes 
craft --set version=master kde/frameworks/tier1/solid 
craft --set version=master kcontacts
craft --set version=master ki18n
craft --set version=master kjobwidgets
craft --set version=master kpackage
craft --set version=master breeze-icons
craft --set version=master kconfigwidgets


Build/install KDE Connect

Run the following commands now:

# Now we install kdeconnect-kde within CraftRoot.

craft -i kdeconnect-kde 

# Get qtbase source for debugging

craft --fetch --unpack libs/qt5/qtbase

# If everything went fine, you're ready!


Post-install instructions

Use these OS-specific instructions after Craft successfully installs kdeconnect-kde in CraftRoot.

Windows

  1. To enable callbacks for the Windows notifications, run this command:
    C:/CraftRoot/bin/snoretoast.exe -install "KDE Connect DEV" "C:/CraftRoot/bin/kdeconnectd.exe" "kdeconnect.daemon"

Build with changes to code

Remember the source code for kdeconnect-kde is accessible via cs kdeconnect-kde. Once you make some changes, run:

craft --compile --install --qmerge kdeconnect-kde

This will update the kdeconnect-kde package installed within $CraftRoot.

Warning: Do not run craft -i kdeconnect-kde ! This command overwrites the installation with a build of kdeconnect-kde from master branch.

Visit here for more information about Craft.


Using an IDE

Multiple IDEs have been tested to work quite well with Craft. To see available guides, click here.


FAQs

We are only human! There are many questions that we face commonly, during DevSprints and during the onboarding of new contributors. Just skim through all the commonly asked questions so you don't have to ask around like others had to.

  1. What versions of packages did I just install? What version of KDE Connect did I just build?

At the CraftRoot/ prompt, to see the catalog of installed packages, run this command:

craft --print-installed

The KDE Connect version will be based on the latest git commit in the repository. To see what is the latest release (latest tag) and any commits since the release, run these commands:

cd download/git/extragear/kdeconnect-kde
git tag
git log --tags
echo notice the commit date for the latest tag.
echo release v1.3.5 commit date is "May 19 2019"
echo the following will show all the commits since release v1.3.5
echo (assuming the current year is 2019)
git log --since="May 19"


  1. How can I contact the KDE Connect team? I'd like to talk to the team about an issue/ suggestion.


Be sure to tell us if you got stuck somewhere in the process of setting up the developer environment. You can mail us. Yes, we read the mails!