Go to file
2017-02-28 00:03:49 +01:00
contrib Correctly install templates with Meson 2016-10-03 20:29:36 +02:00
data Ensure desktop-apps have at least one valid category set 2017-01-19 21:47:57 +01:00
docs Allow to specify allowed <custom/> keys 2017-01-19 01:16:00 +01:00
src debian: Only select the most recent packages for a scan 2017-02-27 23:20:22 +01:00
test trivial: Enforce UTF-8 locale on CI 2017-01-18 21:31:30 +01:00
.gitignore Add initial code and primitives 2016-03-03 20:59:03 +01:00
.gitmodules Reorganize code for proper namespacing 2016-09-26 04:54:56 +02:00
.travis.yml ci: Don't build with GDC 2017-02-11 16:39:23 +01:00
dub.json Reorganize code for proper namespacing 2016-09-26 04:54:56 +02:00
LICENSE Update license 2016-03-03 20:59:11 +01:00
MAINTAINERS Add more documentation 2016-03-29 03:09:26 +02:00
Makefile Make Meson a first-class buildsystem for asgen 2016-10-03 18:44:12 +02:00
meson_options.txt Add description to options 2016-10-03 18:51:23 +02:00
meson.build Drop embedded generator copy 2017-02-27 23:17:11 +01:00
NEWS Release version 0.6.2 2017-01-24 22:55:28 +01:00
README.md trivial: Add link to mustache-d 2017-02-28 00:03:49 +01:00
RELEASE trivial: post release version bump 2017-01-24 22:58:05 +01:00
TODO trivial: Fonts are done 2016-10-03 18:56:09 +02:00

AppStream Generator

AppStream is an effort to provide additional metadata and unique IDs for all software available in a Linux system. This repository contains the server-side of the AppStream infrastructure, a tool to generate metadata from distribution packages. You can find out more about AppStream collection metadata at Freedesktop.

The AppStream generator is currently primarily used by Debian, but is written in a distribution agnostic way. Backends only need to implement two interfaces to to be ready.

If you are looking for the AppStream client-tools, the AppStream repository is where you want to go.

AppStream Generator Logo

Development

Build Status

Build dependencies

  • LDC1
  • Meson (>= 0.34) 2
  • glib2 (>= 2.46)
  • AppStream 3
  • libarchive (>= 3.2) 4
  • LMDB 5
  • mustache-d 6
  • Cairo
  • GdkPixbuf 2.0
  • RSvg 2.0
  • FreeType
  • Fontconfig
  • Pango
  • Bower (optional) 7

On Debian and derivatives of it, all build requirements can be installed using the following command:

sudo apt install meson ldc libappstream-dev libgdk-pixbuf2.0-dev libarchive-dev \
    librsvg2-dev liblmdb-dev libglib2.0-dev libcairo2-dev libcurl4-gnutls-dev \
    libfreetype6-dev libfontconfig1-dev libpango1.0-dev libmustache-d-dev

Build instructions

Ensure you have initialized the Git submodules. Run make update-submodule to run a fake-target which initializes and updates the submodule.

To build the tool with Meson, create a build subdirectory, change into it and run meson .. && ninja to build. In summary:

$ make update-submodule
$ mkdir build && cd build
$ meson -Ddownload_js=true ..
$ ninja
$ sudo ninja install

We support several options to be set to influence the build. Change into the build directory and run mesonconf to see them all.

Usage

Take a look at the docs/ directory in the source tree for information on how to use the generator. Right now, only the YAML output format is tested properly.

Hacking

Pull-requests and patches are very welcome! If you are new to D, it is highly recommended to take a few minutes to look at the D tour to get a feeling of what the language can do: http://tour.dlang.org/