Difference between revisions of "Funtoo:Media"

From Funtoo
Jump to navigation Jump to search
Tag: Reverted
m (Drobbins moved page Funtoo:Media-Kit to Funtoo:Media over redirect)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Project
{{Project
|items={{ProjectItem
|summary=This is the Funtoo Media project, which manages the contents of media-kit as well as all media-related mix-ins.
|parent=foo
|summary=asdflk
}}
|summary=This is the Funtoo media project, which manages the contents of media-kit as well as all media-related mix-ins.
|leads=Drobbins, seemant
|leads=Drobbins, seemant
|status_date=2022-02-08
|status_date=2022-02-08
|status=We're currently working on stabilizing a 'beard trimmed' media-kit that is now part of next-release, and figuring out what to do with 'extra' media ebuilds that we may not want to have in the core media-kit. We also need to add guidance on what media frameworks are officially supported in Funtoo, and which aren't.
|status=We're currently working on stabilizing a 'beard trimmed' media-kit that is now part of next-release, and figuring out what to do with 'extra' media ebuilds that we may not want to have in the core media-kit. We also need to add guidance on what media frameworks are officially supported in Funtoo, and which aren't.
|components=foo, bar, oni
|components={{Project/Component
|name=media-kit audio
|support=full
|summary=Media-kit includes support for popular audio frameworks, libraries, APIs, formats and codecs, as well as some 'essential' audio playback applications.
}}{{Project/Component
|name=media-kit video
|support=full
|summary=Media-kit includes core AV frameworks including gstreamer, libraries, video formats/codecs and APIs, as well as 'essential' video playback applications.
}}{{Project/Component
|name=media-kit graphics
|support=full
|summary=Media-kit includes common bitmap/vector graphics format frameworks, libraries and APIs, photo-related support libraries (RAW, EXIF), and 'essential' graphics applications such as Imagemagick.
}}{{Project/Component
|name=media-kit hardware
|support=full
|summary=Media-kit includes libraries related to accessing physical music, video and game media such as CD, DVD, Blu-Ray Disc, as well as media-oriented libraries and protocols related to such functionality, including Firewire.
}}{{Project/Component
|name=media-kit typography
|support=full
|summary=Media-kit includes core font libraries as well as the core font selection in Funtoo.
}}{{Project/Component
|name=Desktop Environments Support
|support=full
|summary=Media-kit may include media-related packages to support all desktops in our [[Support Matrix]]: GNOME, KDE, Cinnamon, MATE, LXQt, XFCE, Enlightenment, as well as additional window managers OpenBox and FluxBox.
}}{{Project/Component
|name=PipeWire
|support=partial
|summary=[https://pipewire.org/ PipeWire] (aka {{c|media-video/pipewire}}, also see [https://wiki.gentoo.org/wiki/PipeWire PipeWire on Gentoo Wiki]) is not yet officially supported in Gentoo or Funtoo. There are several ebuilds that optionally depend on PipeWire. This is OK. If your ebuild can use PipeWire, it should conditionally depend on it via a {{c|USE}} variable, and this functionality should default to '''off''' via Funtoo USE settings. Also of note is that the various things that depend on PipeWire in Funtoo/Gentoo sometimes have different {{c|USE}} variables, generally focused on the name of the feature enabled, rather than a {{c|USE}} variable of {{c|pipewire}}. See {{Bug|FL-9407}} for more information on PipeWire in Funtoo. We are open to a project to officially add PipeWire support to Funtoo, but this should be an organized effort rather than just having PipeWire 'silently depended upon' with new incoming PRs. This would create unnecessary untracked dependency on PipeWire in our default builds of Funtoo which we don't want.
}}
}}
}}
{{ProjectFooter}}
Welcome to the Funtoo Media-Kit project! This project is focused on the maintenance of media-kit, and the various types of media support in Funtoo, plus the media-related multi-profiles.
Welcome to the Funtoo Media project! This project is focused on curating various types of media support in Funtoo. By 'media', we are generally referring to all the media-related packages in media-kit (both 1.4-release and next) as well as potentially some packages that ''should'' be in media-kit, plus the media-related multi-profiles.


=== Goals ===
=== Goals ===


The goal of the Funtoo Media project is to provide essential functionality related to media support in Funtoo Linux, and to curate/maintain the media packages.  
The goal of the Funtoo Media project is to provide essential functionality related to media support in Funtoo Linux, to curate/maintain the media packages, and keep the media-related profile mix-ins up-to-date and configured optimally.


=== What Is Considered 'Media' ===
=== What's Supported ===


Media packages can include:
The dynamic table, below, defines what we consider part of media-kit, and also includes guidance on frameworks that we may not fully support yet. For new media-related ebuilds, there is a possibility we will want to have them be part of flora rather than Funtoo's media-kit, depending on their applicability and relation to what Funtoo supports. See "Current Work", below.


;Audio:
=== Current Work ===
* audio frameworks, libraries and APIs
* audio formats and codec support
* 'essential' audio playback applications


;Video:
Work has begun on [[Beard Trimming|'beard trimming']] excess packages in media-kit in next-release. The goal here is to limit the scope of media-kit somewhat, so it is a curated collection of packages of importance to Funtoo, rather than a bucket for anything in the universe that is related to media. Next-release [https://code.funtoo.org/bitbucket/projects/CORE/repos/kit-fixups/browse/media-kit/next/packages.yaml has its own {{c|packages.yaml}}] file which has been significantly pruned, as well as organized. At the top of the file, there are some packages identified that are mis-categorized and should be moved ''out'' of media-kit.
* AV frameworks, libraries and APIs including gstreamer
* video formats and codec support
* 'essential' video playback applications


;Graphics:
Packages that do not relate to the core mission of media-kit will likely be moved to a relaunched flora (see {{Bug|FL-9393}}) -- or possibly a more focused new project (3dkit? vfxkit? with their own kits) and maintained by the user community. The packages remaining within media-kit will be more actively maintained and autogenned. This will allow us to:
* Bitmap/vector graphics format frameworks, libraries and APIs
* Photo-related support libraries (RAW, EXIF)
* 'essential' graphics applications such as Imagemagick


;Hardware:
* Organize the 'important stuff' in media-kit.
* Libraries related to accessing commercial media such as CD, DVD, Blu-Ray Disc
* Have other special-purpose media kits for the 'cool stuff.'
* Media-oriented libraries and protocols for such functionality (such as Firewire)
* Leverage flora for the miscellaneous media stuff that is not as widely used or for which there is not an active media sub-project.


;Typography:
=== How To Get Involved ===
* Core font libraries
* Core font selection in Funtoo


;Desktop Environment Support: Media-related libraries to support all desktops in our support matrix, which includes:
Our efforts are focused on media-kit in next-release. Here are some things that we are totally open to in the form of PRs:
* GNOME (some packages in gnome-kit-sources)
* KDE (some packages in kde-kit-sources)
* Cinnamon (some packages in gnome-kit-sources)
* MATE
* LXQt
* XFCE
* Enlightenment


And additionally the following window managers which are not in our support matrix:
# Help us move the 'miscategorized' packages (labelled in the YAML as {{c|miscategorized:}} in [https://code.funtoo.org/bitbucket/projects/CORE/repos/kit-fixups/browse/media-kit/next/packages.yaml {{c|packages.yaml}}] to the correct kits.
# Help us autogen various media libraries in next-release. These packages are generally fairly "autogen-friendly", as they tend to be somewhat mature and have a clear scope of functionality and set of dependencies. The lower-level libraries tend to have few or no real dependencies.
# Help us keep [https://code.funtoo.org/bitbucket/projects/CORE/repos/kit-fixups/browse/media-kit/next/packages.yaml {{c|packages.yaml}}] organized into various categories of packages so we can easily track the various things in media-kit.
# Improve support of not-quite-supported or not-well-supported frameworks, such as PipeWire, by starting a sub-project for this. Talk to leads about this if you are interested.


* Openbox
For any of these tasks, first open a bug on the bug tracker to indicate what you're going to be working on. Once it's moved to "Ready to Fix" state, a PR can be submitted.
* Fluxbox
{{ProjectFooter}}
 
=== What Is Not (Yet) Considered 'Media' ===
 
This section documents things that are not yet officially supported in media-kit and Funtoo, along with guidance on how to handle them.
 
; PipeWire: [https://pipewire.org/ PipeWire] (aka {{c|media-video/pipewire}}, also see [https://wiki.gentoo.org/wiki/PipeWire PipeWire on Gentoo Wiki]) is not yet officially supported in Gentoo or Funtoo. There are several ebuilds that optionally depend on PipeWire. This is OK. If your ebuild can use PipeWire, it should conditionally depend on it via a {{c|USE}} variable, and this functionality should default to '''off''' by default. Also of note is that the various things that depend on PipeWire in Funtoo/Gentoo sometimes have different {{c|USE}} variables, generally focused on the name of the feature enabled, rather than a {{c|USE}} variable of {{c|pipewire}}. See {{Bug|FL-9407}} for more information on PipeWire in Funtoo. We are open to a project to officially add PipeWire support to Funtoo, but this should be an organized effort rather than just having PipeWire 'silently depended upon' with new incoming PRs. This would create unnecessary dependency on PipeWire in our default builds of Funtoo which we don't want.

Latest revision as of 20:14, June 16, 2022

   Summary
This is the Funtoo Media project, which manages the contents of media-kit as well as all media-related mix-ins.
   People
Leads

Welcome to the Funtoo Media-Kit project! This project is focused on the maintenance of media-kit, and the various types of media support in Funtoo, plus the media-related multi-profiles.

Goals

The goal of the Funtoo Media project is to provide essential functionality related to media support in Funtoo Linux, to curate/maintain the media packages, and keep the media-related profile mix-ins up-to-date and configured optimally.

What's Supported

The dynamic table, below, defines what we consider part of media-kit, and also includes guidance on frameworks that we may not fully support yet. For new media-related ebuilds, there is a possibility we will want to have them be part of flora rather than Funtoo's media-kit, depending on their applicability and relation to what Funtoo supports. See "Current Work", below.

Current Work

Work has begun on 'beard trimming' excess packages in media-kit in next-release. The goal here is to limit the scope of media-kit somewhat, so it is a curated collection of packages of importance to Funtoo, rather than a bucket for anything in the universe that is related to media. Next-release has its own packages.yaml file which has been significantly pruned, as well as organized. At the top of the file, there are some packages identified that are mis-categorized and should be moved out of media-kit.

Packages that do not relate to the core mission of media-kit will likely be moved to a relaunched flora (see FL-9393) -- or possibly a more focused new project (3dkit? vfxkit? with their own kits) and maintained by the user community. The packages remaining within media-kit will be more actively maintained and autogenned. This will allow us to:

  • Organize the 'important stuff' in media-kit.
  • Have other special-purpose media kits for the 'cool stuff.'
  • Leverage flora for the miscellaneous media stuff that is not as widely used or for which there is not an active media sub-project.

How To Get Involved

Our efforts are focused on media-kit in next-release. Here are some things that we are totally open to in the form of PRs:

  1. Help us move the 'miscategorized' packages (labelled in the YAML as miscategorized: in packages.yaml to the correct kits.
  2. Help us autogen various media libraries in next-release. These packages are generally fairly "autogen-friendly", as they tend to be somewhat mature and have a clear scope of functionality and set of dependencies. The lower-level libraries tend to have few or no real dependencies.
  3. Help us keep packages.yaml organized into various categories of packages so we can easily track the various things in media-kit.
  4. Improve support of not-quite-supported or not-well-supported frameworks, such as PipeWire, by starting a sub-project for this. Talk to leads about this if you are interested.

For any of these tasks, first open a bug on the bug tracker to indicate what you're going to be working on. Once it's moved to "Ready to Fix" state, a PR can be submitted.