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.
Installing a package and its dependencies
Updating an installed package: Once you have packagename built, type:
craft -i packagename
Uninstalling an installed package:
craft --unmerge packagename
Searching for a package
craft --search packagename
Switching to the source directory of a package:
Switching to the build directory of a package:
Just compiling the package (i.e. if you just modified the source code and want to test-compile):
craft --compile packagename
Create an installer (or .dmg bundle, ...) for a specific package. The option Packager/PackageType in CraftSettings.ini controls which type of package is created:
craft --package kdevelop
When developing on a specific application, you may want to develop on its library as well. To install the library, run:
craft --ignoreInstalled --no-cache <somelib>
For the application to run with changes to the source of the library, run the following:
craft --compile --install --qmerge <somelib>
Updating Craft itself:
Updating the blueprints:
craft -i craft-blueprints-kde
Blueprints are stored in separate repositories. At the moment there are these repositories:
To navigate to this repository on your local file system, type in:
Open a file browser in that folder and start adding new recipes by copying from existing ones. Note that the name of the package folder needs to match the blueprint name -- an example would be "kdegraphics-mobipocket\kdegraphics-mobipocket.py"
To build a non default version,edit $craftRoot/etc/BlueprintSettings.ini and add:
[category/packagename] version = branch
To find the category of the package you want to install, run this:
craft --search packagename
The second line of the output will be of form: category/packagename
For example, to install master branch of khtml, the line to be appended should look like:
[frameworks/khtml] version = master
To change the version of a complete branch, like libs/qt5 add
[libs/qt5] version = 5.9.3
To compile from within Qt Creator, I need to set up a kit. This is an example for mingw64.
To be able to use Craft libs in your cmake project from QtCreator follow these steps:
If a package fails to build, you'll be greeted with something like:
... craft warning: while running make cmd: jom craft warning: Action: compile for libs/qt5/qtbase FAILED *** Craft all failed: all of libs/qtbase failed after 0:07:25 *** craft error: fatal error: package libs/qtbase all failed
In order to figure out what failed, grep the command line output above for errors.
Or have a look at the log file located in $HOME/.craft (%USERPROFILE%\.craft on Windows) which will contain much more details.
Search for "error", or "error:" in the file.