Commit f7cd4ba6 authored by Jonathan Wilkes's avatar Jonathan Wilkes

Merge branch 'samthursfield/purr-data-sam/flatpak'

parents eaa83e43 affca260
Pipeline #1727 passed with stage
in 256 minutes and 17 seconds
# Purr Data packaged for Flatpak
This is a Flatpak for [Purr Data](https://www.purrdata.net/).
Purr Data is a popular fork of the [Pure Data](http://puredata.info/), an open
source visual programming language for multimedia.
## How to build
This Flatpak uses the standard
[flatpak-builder](docs.flatpak.org/en/latest/flatpak-builder-command-reference.html)
tool to build.
You can run a command like the following to build the package from this repo
and install it in your 'user' Flatpak installation:
flatpak-builder --install ./build net.purrdata.PurrData.yml --force-clean --user
During development you can also run a build without installing it, like this:
flatpak-builder --run build net.purrdata.PurrData.yml pd-l2ork
See the [Flatpak manual](http://docs.flatpak.org/en/latest/) for more information.
[Desktop Entry]
Name=Purr Data
Comment=An open source visual programming language for multimedia
Icon=net.purrdata.PurrData
Exec=pd-wrapper.sh
Terminal=false
Type=Application
Categories=Audio;AudioVideo;Development;GNOME;GTK;Midi;Music
Keywords=Pure Data
StartupNotify=true
MimeType=application/x-puredata;application/x-pd-l2ork;text/x-pd-l2ork
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>net.purrdata.PurrData</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+ and BSD-3-Clause</project_license>
<name>Purr Data</name>
<summary>An open source visual programming language for multimedia</summary>
<description>
<p>
This package contains Purr Data, which is a fork of Pure Data that
bundles a lot of useful extensions, and brings a modern HTML5-based
user interface.
</p>
<p>
<em>IMPORTANT</em>: Running Pure Data under Flatpak is experimental.
The following are known limitations.
</p>
<ul>
<li>Realtime priority cannot be used.</li>
<li>JACK audio backend cannot be used.</li>
</ul>
<p>
Packages from https://www.purrdata.net/ do not have these limitations.
</p>
<p>
Pure Data is an open source visual programming environment that runs on
anything from personal computers to embedded devices (ie Raspberry Pi)
and smartphones (via libpd, DroidParty (Android), and PdParty (iOS).
It is a major branch of the family of patcher programming languages
known as Max (Max/FTS, ISPW Max, Max/MSP, etc), originally developed
by Miller Puckette at IRCAM.
</p>
<p>
Pd enables musicians, visual artists, performers, researchers, and
developers to create software graphically without writing lines of
code. Pd can be used to process and generate sound, video, 2D/3D
graphics, and interface sensors, input devices, and MIDI. Pd can
easily work over local and remote networks to integrate wearable
technology, motor systems, lighting rigs, and other equipment. It
is suitable for learning basic multimedia processing and visual
programming methods as well as for realizing complex systems for
large-scale projects.
</p>
</description>
<screenshots>
<screenshot type="default">
<image type="source">https://git.purrdata.net/samthursfield/flatpak-net.purrdata.PurrData/raw/master/screenshots/pd-parody-2.png</image>
</screenshot>
</screenshots>
<developer_name>The Purr Data developers</developer_name>
<launchable type="desktop-id">net.purrdata.PurrData.desktop</launchable>
<url type="homepage">https://www.purrdata.net/</url>
<url type="bugtracker">https://git.purrdata.net/jwilkes/purr-data/issues</url>
<content_rating type="oars-1.1" />
<releases>
<release version="2.10.0" date="2019-10-02" />
</releases>
</component>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="54"
height="54"
version="1.1"
id="svg2">
<metadata
id="metadata17">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs15" />
<text
x="17.5"
y="19"
id="7fb48d028a00LABEL label text"
style="font-size:10px;font-family:Monaco;fill:#000000;stroke-width:0" />
<rect
x="5"
y="4.5"
width="15"
height="15"
id="7fb48d028a00BASE"
style="fill:#00fc04;stroke:#000000;stroke-width:1" />
<circle
r="6.5"
cx="12.5"
cy="12"
id="7fb48d028a00BUT"
style="fill:#00fc04;stroke:#000000;stroke-width:1" />
<polyline
transform="translate(-99,-74.5)"
points="104.0 99.0 148.0 99.0 148.0 124.0 104.0 124.0 104.0 99.0"
id=".x7fb48cd26890.t7fb48cc1a7d0R obj"
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-linejoin:miter;fill-opacity:1" />
<rect
transform="scale(1,-1)"
x="5"
y="-26.499998"
width="6.9999995"
height="2.0000002"
id=".x7fb48cd26890.t7fb48cc1a7d0i0 inlet"
style="fill:#000000;stroke:#000000;stroke-width:1" />
<rect
x="42"
y="24.5"
width="7"
height="2"
id=".x7fb48cd26890.t7fb48cc1a7d0i1 inlet"
style="fill:#000000;stroke:#000000;stroke-width:1" />
<text
x="7"
y="44.456055"
id=".x7fb48cd26890.t7fb48cc1a7d0 obj text"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#000000;stroke-width:0;fill-opacity:1;">
<tspan
id="tspan4141"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono, Bold';text-align:start;letter-spacing:1px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;opacity:1">Pd</tspan>
</text>
<polyline
transform="translate(-99,-74.5)"
points="107.0 94.0 107.0 99.0"
id="l7fb48cc19700 cord"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round" />
<rect
style="fill:#000000;stroke:#000000;stroke-width:0.99891341"
id="rect4160"
height="2.0010867"
width="6.9810028"
y="-49.413757"
x="4.9994569"
transform="scale(1,-1)" />
</svg>
id: net.purrdata.PurrData
runtime: org.freedesktop.Platform
runtime-version: '19.08'
sdk: org.freedesktop.Sdk
default-branch: stable
command: pd-wrapper.sh
finish-args: [
# Display
'--share=ipc', '--socket=x11', '--socket=wayland', '--device=dri',
# Audio access
'--socket=pulseaudio',
# Filesystem access (pd doesn't yet work with portals)
'--filesystem=host',
# MIDI access (Flatpak doesn't yet support exposing only MIDI devices)
'--device=all'
]
modules:
- name: purr-data
buildsystem: autotools
subdir: pd/src
config-opts: [ '--disable-portaudio', '--enable-alsa', '--enable-oss' ]
sources:
- type: git
url: https://github.com/agraef/purr-data/
tag: 2.10.0
commit: 7cf93e5e32009f033430b8bc9c7276adb272853c
- type: patch
path: patch/build-api.patch
- type: patch
path: patch/no-rsync-during-install.patch
- name: pd-externals
buildsystem: simple
subdir: externals
build-commands:
- |
make -j $(FLATPAK_BUILDER_N_JOBS) prefix=/app \
adaptive arraysize autotune bassemu boids comport creb cxc cyclone earplug ekext ext13 fftease \
flatgui freeverb ggee hcs iem_ambi iem_bin_ambi iemlib iemguts iem_adaptfilt iemmatrix \
iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders-libdir lyonpotpourri mapping \
markex maxlib mjlib moonlib motex mrpeach pan pdcontainer pddp pdogg plugin pmpd \
rjlib sigpack smlib tof unauthorized vbap windowing
- |
make -j $(FLATPAK_BUILDER_N_JOBS) DESTDIR=/ prefix=/app \
adaptive_install arraysize_install autotune_install bassemu_install \
boids_install comport_install creb_install cxc_install cyclone_install \
earplug_install ekext_install ext13_install fftease_install \
flatgui_install freeverb_install ggee_install hcs_install \
iem_ambi_install iem_bin_ambi_install iemlib_install \
iemguts_install iem_adaptfilt_install iemmatrix_install iemxmlrpc_install \
iem_delay_install iem_roomsim_install iem_spec2_install iem_tab_install \
jasch_lib_install loaders-libdir_install lyonpotpourri_install \
mapping_install markex_install maxlib_install mjlib_install \
moonlib_install motex_install mrpeach_install \
pan_install pdcontainer_install pddp_install pdogg_install \
plugin_install pmpd_install rjlib_install sigpack_install smlib_install \
tof_install unauthorized_install vbap_install windowing_install
# The following externals from the purr-data repo are not built:
#
# bsaylor -- needs fftw
# dsis -- segfault during configure !?
# fluid - requires fluidsynth
# iemgui -- requires a config.h that it doesn't have
# moocow -- fails to configure
# oscx -- fails to configure
# pdlua -- requires Lua
# zexy -- fails to configure
sources:
- type: git
url: https://github.com/agraef/purr-data/
tag: 2.10.0
commit: 7cf93e5e32009f033430b8bc9c7276adb272853c
- name: pd-abstractions
buildsystem: simple
subdir: abstractions
build-commands:
- make -j $(FLATPAK_BUILDER_N_JOBS) DESTDIR=/ prefix=/app install
sources:
- type: git
url: https://github.com/agraef/purr-data/
tag: 2.10.0
commit: 7cf93e5e32009f033430b8bc9c7276adb272853c
- name: purr-data-integration
buildsystem: simple
build-commands:
# These commands run in the 'subdir' that we set, but the sources appear at
# the top level hence the `../..` everywhere.
- mkdir -p /app/lib/pd-l2ork/bin/nw
- tar -x -f nwjs.tar.gz -C /app/lib/pd-l2ork/bin/nw --strip-components=1
# wrapper script
- install -m 755 pd-wrapper.sh /app/bin
# .desktop file (so we appear in list of applications)
- install -d /app/share/applications/
- install -m 644 net.purrdata.PurrData.desktop /app/share/applications/
# AppStream metadata (for app store / package manager)
- install -d /app/share/metainfo/
- install -m 644 net.purrdata.PurrData.metainfo.xml /app/share/metainfo
# icon (for everyone)
- install -d /app/share/icons/hicolor/scalable/apps
- install -m 644 net.purrdata.PurrData.svg /app/share/icons/hicolor/scalable/apps/
# add mime type to .pd files
- install -d /app/share/mime/packages/
- install -m 644 packages/linux_make/pd-l2ork.xml /app/share/mime/packages/net.purrdata.PurrData.xml
sources:
- type: git
url: https://github.com/agraef/purr-data/
tag: 2.10.0
commit: 7cf93e5e32009f033430b8bc9c7276adb272853c
- type: file
# Using an binary x86_64 build of nw.js makes me sad. There are ARM packages
# available from the nw.js website. For other platforms, it's difficult but
# possible to build nw.js and Chromium from source, good luck!
url: https://dl.nwjs.io/v0.42.3/nwjs-v0.42.3-linux-x64.tar.gz
sha256: 4802a3a32767ff8908aef8e91e11d81e7b515b32a09c9ab82c09edf91e49d99e
dest-filename: nwjs.tar.gz
- type: file
path: ./pd-wrapper.sh
- type: file
path: net.purrdata.PurrData.desktop
- type: file
path: net.purrdata.PurrData.metainfo.xml
- type: file
path: net.purrdata.PurrData.svg
#!/bin/sh
padsp -n "Pure Data (Flatpak)" pd-l2ork -oss $@
#!/bin/sh
autoreconf -ivf
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment