Sugar Network/Recipe Specification: Difference between revisions

No edit summary
Line 38: Line 38:
* packaged
* packaged


=== [Package] ===
=== [Component] ===


This is a required section (but could be replaced by [Activity]). It describes the main package.
This is a required section (but see also [[#Presets|presents]]). It describes the main recipe component.


  '''slug''' = <package-slug>
  '''slug''' = <package-slug>
Line 141: Line 141:
  '''requires''' = <dependency-name> [(=|>=|<) <version>] [; ...]
  '''requires''' = <dependency-name> [(=|>=|<) <version>] [; ...]


What [[Activity Team/Zero Sugar/Packaging Guide#Package_names|dependencies]] should be present before building the package from sources, in addition to ''requires'' values from the ''[Package]'' sections.
What [[Activity Team/Zero Sugar/Packaging Guide#Package_names|dependencies]] should be present before building the package from sources, in addition to ''requires'' values from the ''[Component]'' sections.


  '''configure''' = <shell-command>
  '''configure''' = <shell-command>
Line 182: Line 182:
== Presets ==
== Presets ==


Instead of package sections (main ''[Package]'' section and sub package sections), special sections might be used. These sections extend standard ''[Package]'' options and might add special meaning of existed ones, see description for particular preset.
Instead of component sections, special sections might be used. These sections extend standard ''[Component]'' options and might add special meaning of existed ones, see description for particular preset.


=== [Activity] ===
=== [Activity] ===
Line 188: Line 188:
This preset should be present only for activities (or for applications that could be used also as Activities, e.g., GCompris is a regular application but could be launched in Sugar mode).  
This preset should be present only for activities (or for applications that could be used also as Activities, e.g., GCompris is a regular application but could be launched in Sugar mode).  


Preset uses the same options as [Package] with these additions:
Preset uses the same options as ''[Component]'' with these additions:


  '''activity_version'''
  '''activity_version'''
Line 200: Line 200:
  '''icon''' = <icon-file-name-wo-suffix>
  '''icon''' = <icon-file-name-wo-suffix>


Behaviour from activity.info is supported (value should not have ".svg" suffix, and icon file could be found only in activity subdirectory) but deprecated. Regular ''icon'' behaviour from [Package] section should be used instead.
Behaviour from activity.info is supported (value should not have ".svg" suffix, and icon file could be found only in activity subdirectory) but deprecated. Regular ''icon'' behaviour from ''[Component]'' section should be used instead.


  '''exec''' = <shell-command>
  '''exec''' = <shell-command>
Line 258: Line 258:
=== Python library ===
=== Python library ===


Package python-based library that could be used as is, or as an activity dependency.
A python-based library that could be used as is, or as an activity dependency.


  [Package]
  [Component]
  slug      = journal
  slug      = journal
  summary  = Hight level library to create your own Journal-like activity
  summary  = Hight level library to create your own Journal-like activity
Line 270: Line 270:
  binding  = PYTHONPATH
  binding  = PYTHONPATH


=== Vala library ===
=== C-based library with Python binding ===
 
Binary library with generating C files from Vala sources, creating library package, and devel, python binding sub-packages.


  [DEFAULT]
  [DEFAULT]
  slug      = env
  slug      = polyol
  summary  = Access to various sugar environment settings.
  summary  = Intermediate level GObject based libraries for Sugar
description = Polyol is a set of libraries that are written in Vala.
            Libraries are intended to provide high-level C API to basic Sugar
            features including Gtk based user interface. Applications that are
            linked against Polyol, interact with sugar processes
            (like shell, datastore, etc.) via DBus.
  license  = LGPLv3+
  license  = LGPLv3+
  homepage  = http://wiki.sugarlabs.org/go/Activity_Team/Services/Env
  homepage  = http://wiki.sugarlabs.org/go/Activity_Team/Polyol
  version  = 0.9
age      = 0
  version  = 1
  stability = testing
  stability = testing
   
   
  [Package]
  [Component]
  requires  = glib; gconf; libgee >= 0.5
  requires  = glib; gconf; libgee >= 0.5
binding  = LD_LIBRARY_PATH lib
            gtk+ >= 2.12; pango >= 1.20; librsvg; %(slug)s/env
include  = *.so.*
arch      = build
[Package/devel]
requires  = glib/devel; gconf/devel; libgee/devel
            %(slug)s
  binding  = LD_LIBRARY_PATH lib
  binding  = LD_LIBRARY_PATH lib
             PKG_CONFIG_PATH lib/pkgconfig
             PKG_CONFIG_PATH lib/pkgconfig
             VAPIDIR share/vala/vapi
             VAPIDIR share/vala/vapi
  exclude  = %(PYTHON_SITEDIR)s/**
  exclude  = python/**
            *.so.*
  arch      = any
  arch      = build
   
   
  [Package/python]
  [Component/python]
  requires  = python; %(slug)s
  requires  = python; pygtk; pycairo; %(slug)s
slots[python] = 2.5; 2.6; 2.7; 3.0
  binding  = PYTHONPATH python
  binding  = PYTHONPATH python
  include  = %(PYTHON_SITEDIR)s/**
  include  = python/toolkit/**
  arch      = build
  arch      = any
slots[python] = 2.5; 2.6; 2.7; 3.0
   
   
  [Build]
  [Build]
  requires  = glib/devel; gconf/devel; libgee/devel
  requires  = pkg-config; cmake; make; gcc-c
            pkgconfig; cmake; make; gcc-c
  configure = cmake -D CMAKE_INSTALL_PREFIX=%(PREFIX)s
  build    = cmake -DCMAKE_INSTALL_PREFIX=%(PREFIX)s
                   -D PYTHON_SITEDIR=%(PREFIX)s/python
                   -DPYTHON_SITEDIR=%(PYTHON_SITEDIR)s
                   -D COMPONENTS="collab;ds;env;gui;shell;toolkit"
                   -DCOMPONENTS="env"
                   -D BINDING=python
                   -DBINDING=python
                   -D CMAKE_C_FLAGS:STRING="%(CFLAGS)s"
                   -DCMAKE_C_FLAGS:STRING="%(CFLAGS)s"
                   %(SRCDIR)s
                   %(SRCDIR)s &&
make      = make
            make
  install  = make DESTDIR=%(DISTDIR)s install
  install  = make DESTDIR=%(DISTDIR)s install
[Maintain]
requires  = vala
exec      = make dist