Git Product home page Git Product logo

appstream-generator's Introduction

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.46) 2
  • GLibD 3
  • AppStream 4
  • libarchive (>= 3.2) 5
  • LMDB 6
  • mustache-d 7
  • GirToD 8
  • Containers 9
  • Cairo
  • GdkPixbuf 2.0
  • RSvg 2.0
  • FreeType
  • Fontconfig
  • Pango
  • Yarn (optional) 10

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

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

Build instructions

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

$ 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.

You might want to perform an optimized debug build by passing --buildtype=debugoptimized to meson or just do a release build straight away with --buildtype=release in case you want to use the resulting binaries productively. By default, the build happens without optimizations which slows down the generator.

Usage

Take a look at the docs/ directory in the source tree for information on how to use the generator and write configuration files for it.

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: https://tour.dlang.org/

appstream-generator's People

Contributors

antonio-rojas avatar btkostner avatar hsitter avatar iainlane avatar neilmayhew avatar tintou avatar ximion avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.