Commit 95e000ca authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

Merge branch 'master' into add-soundfiler-outlet-squashed

parents 21f7993d 3f242c54
# This file creates automated tests on GitLab CI for Purr Data.
# See https://docs.gitlab.com/ee/ci/yaml/README.html for details of the format.
# These are script snippets used in the jobs defined below.
.debian_image_preparation: &debian_image_preparation
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
.build_all: &build_all
- echo -e "section_start:`date +%s`:build_all\r\e[0KBuilding Purr Data"
- cd l2ork_addons
- export V=0
- ./tar_em_up.sh $BUILD_TYPE_FLAG
- cd ..
- echo -e "section_end:`date +%s`:build_all\r\e[0K"
.test_linux: &test_linux
- echo -e "section_start:`date +%s`:test_linux\r\e[0KTesting Purr Data for Linux"
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
- echo -e "section_end:`date +%s`:text_linux\r\e[0K"
.test_osx: &test_osx
- echo -e "section_start:`date +%s`:test_osx\r\e[0KTesting Purr Data for Mac OSX"
- cd scripts
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
- echo -e "section_end:`date +%s`:text_osx\r\e[0K"
.test_windows: &test_windows
- echo -e "section_start:`date +%s`:test_windows\r\e[0KTesting Purr Data for Windows"
- cd scripts
- ../packages/win32_inno/build/bin/pd.com -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/win32_inno/build/bin/pd.com -noprefs -nostdpath -nogui -noaudio external-tests.pd
- echo -e "section_end:`date +%s`:text_windows\r\e[0K"
debian_stretch_x86_64_deb:
tags:
- debian
- stretch
- x86_64
variables:
BUILD_TYPE_FLAG: -B
before_script:
- *debian_image_preparation
script:
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
- cd l2ork_addons
- ./tar_em_up.sh -B
- cd ..
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
- *build_all
- *test_linux
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
......@@ -24,17 +60,13 @@ ubuntu_16.04_x86_64_deb:
- ubuntu
- v16.04
- x86_64
variables:
BUILD_TYPE_FLAG: -B
before_script:
- *debian_image_preparation
script:
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
- cd l2ork_addons
- ./tar_em_up.sh -B
- cd ..
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- cd scripts
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio external-tests.pd
- *build_all
- *test_linux
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
......@@ -46,13 +78,12 @@ osx_10.11_x86_64_dmg:
- osx
- v10.11
- dmg
variables:
BUILD_TYPE_FLAG: -X
script:
- echo `pwd`
- cd l2ork_addons
- ./tar_em_up.sh -X
- cd ../scripts
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
- *build_all
- *test_osx
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
......@@ -64,13 +95,13 @@ osx_10.8_x86_64_dmg:
- osx
- v10.8
- dmg
variables:
BUILD_TYPE_FLAG: -X
osx_version: "10.8"
script:
- echo `pwd`
- cd l2ork_addons
- osx_version=10.8 ./tar_em_up.sh -X
- cd ../scripts
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
- *build_all
- *test_osx
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
......@@ -81,13 +112,12 @@ windows_i386_innosetup:
tags:
- windows
- i386
variables:
BUILD_TYPE_FLAG: -Z
script:
- echo `pwd`
- cd l2ork_addons
- ./tar_em_up.sh -Z
- cd ../scripts
- ../packages/win32_inno/build/bin/pd.com -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/win32_inno/build/bin/pd.com -noprefs -nostdpath -nogui -noaudio external-tests.pd
- *build_all
- *test_windows
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
......@@ -99,17 +129,14 @@ raspbian_stretch_armv7l_deb:
- raspbian
- arm
- stretch
variables:
BUILD_TYPE_FLAG: -r
before_script:
- *debian_image_preparation
script:
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
- echo `pwd`
- cd l2ork_addons
- ./tar_em_up.sh -r
- cd ..
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
- *build_all
- *test_linux
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
......
......@@ -85,8 +85,8 @@ export macos_target = 10.9
# Installation prefix under which Pd-l2ork is installed (Linux only). If this
# isn't set, a default location will be used (usually /usr/local). NOTE: We
# *always* assume that this variable is set properly in the install targets
# (see below).
# *always* assume that this variable is set properly in the install targets,
# as well as the (Linux) check target (see below).
prefix = /usr
ifneq ($(prefix),)
......@@ -157,6 +157,40 @@ realclean:
git checkout .
git clean -dffx -e pd/nw/nw/
# Check targets. These run the regression tests in scripts.
# Requires a full build.
os = $(shell uname|sed 's/^\(MINGW[0-9]*\)_NT.*/\1/')
ifeq ($(os),Linux)
# Linux (all flavors)
pdprog = packages/linux_make/build$(prefix)/bin/pd-l2ork
else ifeq ($(os),Darwin)
# Mac
pdprog = packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork
else ifeq ($(os),MINGW64)
# Msys2 mingw64
pdprog = packages/win64_inno/build/bin/pd.exe
else ifeq ($(os),MINGW32)
# Msys2 mingw32
pdprog = packages/win32_inno/build/bin/pd.exe
endif
ifneq ($(pdprog),)
# This runs just a quick regression test, useful to see whether the program
# works at all.
check1:
$(pdprog) -noprefs -nogui -noaudio -send 'init dollarzero $$0' scripts/regression_tests.pd
# This runs the full test suite, including the test of the externals.
check:
$(pdprog) -noprefs -nogui -noaudio -send 'init dollarzero $$0' scripts/regression_tests.pd
$(pdprog) -noprefs -nostdpath -nogui -noaudio scripts/external-tests.pd
else
check1 check:
@echo "Target $(os) not recognized, can't run 'make $@'!"; false
endif
# Installation targets. These don't work on Mac and Windows right now, you
# should use the generated installers on these systems instead. Also,
# $(prefix) must be set. $(DESTDIR) is supported as well, so you can do staged
......
......@@ -19,6 +19,7 @@ maintainers:
* [OSX](#osx-64-bit-using-homebrew)
* [Windows](#windows-32-bit-using-msys2)
* [Code of Conduct](#code-of-conduct)
* [Project Governance](#project-governance)
* [Contributor Guide](#contributor-guide)
* [Human Interface Guidelines](#human-interface-guidelines)
* [Core Pd Notes](#core-pd-notes)
......@@ -63,16 +64,22 @@ Pd-L2ork has the following goals:
documentation. We like documentation, so it follows that we like consistent
interfaces.
### User Guide
### User Guide and Weblinks
For a more in-depth look at Purr Data for new users and developers, see:
[https://agraef.github.io/purr-data-intro/Purr-Data-Intro.html](https://agraef.github.io/purr-data-intro/Purr-Data-Intro.html)
<https://agraef.github.io/purr-data-intro/Purr-Data-Intro.html>
For more resources see:
[https://agraef.github.io/purr-data/](https://agraef.github.io/purr-data/)
<https://agraef.github.io/purr-data/>
For Ico Bukvic's original Pd-l2ork website see:
<http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/>
(Note that the latter link is more about "classic" Pd-L2Ork a.k.a. Pd-L2Ork 1.0, see below. But it also contains some information about Purr Data.)
### Relationship of Purr Data to Pure Data
There are three maintained distributions of Pure Data:
......@@ -81,7 +88,7 @@ There are three maintained distributions of Pure Data:
external libraries and uses a modern GUI written using HTML5.
2. Pd-L2Ork 1.0, the version used by Ivica Bukvic for his laptop orchestra.
Pd-l2ork 1.0 uses tcl/tk (and tkpath) for the GUI. You can find it
[here](http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/)
[here](http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/).
3. Pure Data "Vanilla". Miller Puckette's personal version which he hosts on
his website and maintains. It doesn't come with external libraries
pre-installed, but it does include an interface you can use to search
......@@ -89,156 +96,36 @@ There are three maintained distributions of Pure Data:
### Downloads
Packages for Windows and OSX:
[https://github.com/jonwwilkes/purr-data/releases](https://github.com/jonwwilkes/purr-data/releases)
Gnu/Linux installation instructions:
* [Arch](#arch)
* [Debian 9, 10, and testing](#debian)
* [Raspbian 9, and 10](#raspbian)
* [Ubuntu 16.04, 18.04, 19.04, and 19.10](#ubuntu)
* [openSUSE](#opensuse)
### Installation Guide
#### Arch
All of this needs to be done as root, using either `sudo` or `su`.
The following goes into /etc/pacman.conf:
~~~
[home_aggraef_Arch]
SigLevel = Never
Server = https://download.opensuse.org/repositories/home:aggraef/Arch/$arch
~~~
Then just run:
~~~
pacman -Sy
pacman -S purr-data
~~~
#### Debian
All of this needs to be done as root, using either `sudo` or `su`. Use "Debian_9.0" instead if you're running Debian Stretch rather than Buster; likewise if you're running Unstable or Testing.
You should import the repository key first, so that the packages can be updated automatically (this only needs to be done once):
~~~
wget -nv https://download.opensuse.org/repositories/home:aggraef/Debian_10/Release.key
apt-key add Release.key
~~~
Then add the repository to your apt sources as follows (taking Debian 10 as an example):
~~~
echo 'deb http://download.opensuse.org/repositories/home:/aggraef/Debian_10/ /' > /etc/apt/sources.list.d/home:aggraef.list
apt update
~~~
**NOTE:** This creates the source in a separate file /etc/apt/sources.list.d/home:aggraef.list. You can just remove this file when you don't need the repository any more.
Finally install the package:
~~~
apt install purr-data
~~~
#### Raspbian
All of this needs to be done as root, using either `sudo` or `su`. Use "Raspbian_9.0" instead if you're running Raspbian Stretch rather than Buster.
**Windows and OSX:**
~~~
sudo su
~~~
Releases are done on GitHub:
You should import the repository key first, so that the packages can be updated automatically (this only needs to be done once):
<https://github.com/jonwwilkes/purr-data/releases>
~~~
wget -nv https://download.opensuse.org/repositories/home:aggraef/Raspbian_10/Release.key
apt-key add Release.key
~~~
This is where the packages first come out as soon as Jonathan Wilkes releases them. The same packages can also be dowloaded (usually shortly after release) on Albert Gräf's mirror, which also provides a website, wiki, additional documentation, and an up-to-date mirror of the source code repository:
Then add the repository to your apt sources as follows:
<https://github.com/agraef/purr-data/releases>
~~~
echo 'deb http://download.opensuse.org/repositories/home:/aggraef/Raspbian_10/ /' > /etc/apt/sources.list.d/home:aggraef.list
apt update
~~~
**Linux:**
Finally install the package:
Packages for various Linux distributions (including Arch, Debian, Ubuntu, and openSUSE) are available through the JGU package repositories maintained by Albert Gräf on the OBS (Open Build System). Detailed instructions can be found [here](https://github.com/agraef/purr-data/wiki/Installation#linux).
~~~
apt install purr-data
~~~
#### Ubuntu
All of this needs to be done as root, using either `sudo` or `su`. Replace "18.04" with the version of Ubuntu you use.
~~~
sudo su
~~~
You should import the repository key first, so that the packages can be updated automatically (this only needs to be done once):
~~~
wget -nv https://download.opensuse.org/repositories/home:aggraef/xUbuntu_18.04/Release.key
apt-key add Release.key
~~~
Then add the repository to your apt sources as follows:
~~~
echo 'deb http://download.opensuse.org/repositories/home:/aggraef/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/home:aggraef.list
apt update
~~~
Finally install the package:
~~~
apt install purr-data
~~~
#### openSUSE
**NOTE:** The openSUSE builds are somewhat experimental right now. In particular, the flite external is not supported, because the required dependencies are not available. Also note that some of the multimedia functionality (Gem video, in particular) will require proprietary media codecs and thus won't work in stock openSUSE. You will need to add third-party repositories like [Packman](https://en.opensuse.org/Additional_package_repositories#Packman) to make these work.
We take Tumbleweed as an example here, if you're running Leap then replace "Tumbleweed" with "Leap_15.1" or whatever version you use.
~~~
sudo su
zypper addrepo https://download.opensuse.org/repositories/home:aggraef/openSUSE_Tumbleweed/home:aggraef.repo
zypper refresh
zypper install purr-data
~~~
You can also just go to the [OBS Download](https://software.opensuse.org/download/package?package=purr-data&project=home%3Aaggraef), pick your Linux system, and follow the instructions.
### Build Guide
**NOTE:** The instructions for Windows and OSX below talk about running the `tar_em_up.sh` build
script, which is still the recommended way to build Purr Data right now.
However, Purr Data also has a new (and experimental) toplevel Makefile so that
just typing `make` will build the package. You may find this easier. The
Makefile also offers the customary targets to clean (`make clean`, or
`make realclean` to put the sources in pristine state again) and to roll a
self-contained distribution tarball (`make dist`). Please check the comments
at the beginning of the Makefile for more information.
Purr Data is usually built by just running `make` in the toplevel source directory after checking out the sources from its git repository. This works across all supported platforms (Linux, Mac and Windows at this time). The Makefile also offers the customary targets to clean (`make clean`, or `make realclean` to put the sources in pristine state again) and to roll a self-contained distribution tarball (`make dist`), as well as some other convenience targets (please check the comments at the beginning of the Makefile for more information).
However, to make this work, you will most likely have to install some prerequisites first: *build tools* such as a C/C++ compiler and the make program itself, as well as *dependencies*, the libraries that Purr Data needs. Detailed instructions for each of the supported platforms are given below.
#### Linux
Time to build: *10 minutes light install, 45 minutes to 1.5 hours full install*
Hard drive space required: *roughly 2.5 GB*
1. Install the dependencies
1. Install the dependencies (please note that the packages may be named
slightly differently for different Linux distributions; the given names are
for Debian/Ubuntu)
sudo apt-get install bison flex automake libasound2-dev \
libjack-jackd2-dev libtool libbluetooth-dev libgl1-mesa-dev \
......@@ -261,26 +148,17 @@ Hard drive space required: *roughly 2.5 GB*
git clone https://git.purrdata.net/jwilkes/purr-data.git
4. Compile the code *(5 minutes to 1.5 hours)* full
4. Compile the code *(5 minutes [light] to 1.5 hours [full])*
* to build only the core: `make light` *(5 minutes)*
* to build core and all externals: `make all` *(20 minutes to 1.5 hours)*
* to build the core and all externals: `make all` *(20 minutes to 1.5 hours)*
* to build everything *except* Gem: `make incremental` *(10 to 20 minutes)*
5. There should now be an installer file in the main directory of the repo.
If you're using an apt-based Linux distribution it will be an apt package.
Otherwise, it will be a tarball which you can unzip, enter, and run
`make install` (as well as `make uninstall` to remove it).
To install using a pre-compiled binary, follow these instructions:
http://l2ork.music.vt.edu/main/?page_id=56
To set up a development environment, first make sure you have the following
package dependencies listed here:
http://l2ork.music.vt.edu/main/?page_id=56
Then follow the steps outlined here:
http://l2ork.music.vt.edu/main/?page_id=56#install-dev
5. If you're using an apt-based Linux distribution and you have the necessary
Debian packaging tools installed, there should now be an installer file in
the main source directory, which can be installed as usual. Otherwise, run
`make install` to install the software, and `make uninstall` to remove it
again.
#### OSX 64-bit using Homebrew
......@@ -311,45 +189,42 @@ Hard drive space required: *roughly 2 GB*
git clone https://git.purrdata.net/jwilkes/purr-data.git
4. Change to the directory
cd purr-data/l2ork_addons
5. Run the installer *(15 minutes)*
4. Change to the source directory
./tar_em_up.sh -X
cd purr-data
6. When the installer finishes, type
5. Build the OSX app and the installer disk image (.dmg file) *(15 minutes)*
cd ..
make
7. There should now be a .dmg file in your current directory
6. There should now be a .dmg file in your current directory, which lets you install the app in the usual way
#### Windows 32-bit Using msys2
Time to build: *roughly 1.5 hours-- 30 minutes of this is for Gem alone*
Hard drive space required to build: *rougly 2.5 GB*
Important note: check the name of your Windows user account. If it has a space
in it-- like "My Home Computer" or "2nd Laptop", then **stop**. You may not
use this guide. (Actually you can probably just install everything in ~/.. in
that case, but I haven't tested doing it like that. Sorry. Get a better OS...)
**Important note:** We recommend doing the build under your msys2 home
directory (usually /home/username in the msys2 shell). This directory should
not have any spaces in it, which would otherwise cause trouble during the
build. Never try using your Windows home directory for this purpose instead,
since it will usually contain spaces, making the build fail.
1. Download and install [msys2](https://msys2.github.io/) *(5 minutes)*
There are two installers-- one for 32-bit Windows systems (i386) and one for
64-bit Windows (x_64). Be sure you know which
[version](http://windows.microsoft.com/en-us/windows/32-bit-and-64-bit-windows#1TC=windows-7)
There are two installers-- one for 32-bit Windows systems (i686) and one for
64-bit Windows (x86_64). Be sure you know which
[version](http://windows.microsoft.com/en-us/windows/32-bit-and-64-bit-windows)
of Windows you are running and download the appropriate installer.
Note: don't run it after it installs. You'll open it manually in the next
step.
Note: don't run the shell after installation finishes. You'll do that
manually in step 3.
2. Download and install [inno setup](http://www.jrsoftware.org/isdl.php) *(5 minutes)*
2. Download and install the [inno setup Quickstart Pack](http://www.jrsoftware.org/isdl.php) which includes the Script Editor *(5 minutes)*
3. Run MinGW-w64 Win32 Shell *(less than a minute)*
3. Run the "MSYS2 MinGW 32-bit" shell *(less than a minute)*
msys2 adds three Start Menu items for different "flavors" of shell:
+ MinGW-w64 __Win32__ Shell <- click this one!
+ MinGW-w64 Win64 Shell
+ MSYS Shell
+ MSYS2 MinGW __32-bit__ <- click this one!
+ MSYS2 MinGW 64-bit
+ MSYS2 MSYS
4. Install the dependencies *(5-10 minutes)*
Once the shell opens, we need to install the dependencies for building
......@@ -367,11 +242,13 @@ that case, but I haven't tested doing it like that. Sorry. Get a better OS...)
pacman -S autoconf automake git libtool \
make mingw-w64-i686-dlfcn mingw-w64-i686-fftw \
mingw-w64-i686-fluidsynth \
mingw-w64-i686-SDL2 \
mingw-w64-i686-ftgl mingw-w64-i686-fribidi \
mingw-w64-i686-ladspa-sdk mingw-w64-i686-lame \
mingw-w64-i686-libsndfile mingw-w64-i686-libvorbis \
mingw-w64-i686-lua mingw-w64-i686-toolchain \
mingw-w64-i686-libjpeg-turbo \
mingw-w64-i686-speex \
rsync unzip wget
5. Download the source code *(3-6 minutes)*
......@@ -380,16 +257,24 @@ that case, but I haven't tested doing it like that. Sorry. Get a better OS...)
git clone https://git.purrdata.net/jwilkes/purr-data.git
6. Enter the purr-data/l2ork_addons directory *(less than a minute)*
6. Enter the source directory *(less than a minute)*
cd purr-data/l2ork_addons
cd purr-data
7. Finally, build Purr-Data *(45-80 minutes)*
./tar_em_up.sh -Z
make
8. Look in the top level directory of the Git repository and click the setup file to
start installing Purr Data to your machine.
8. Look in the top level source directory and double-click the setup file to
start installing Purr Data on your system.
#### Windows 64-bit Using msys2
The instructions are exactly the same as for the 32 bit build (see above), but the build needs to be done using mingw64 instead of mingw32. That is:
- Install the mingw64 packages for the dependencies. See the i686 packages listed under dependencies above, and replace i686 with x86_64 in the package names when installing.
- Use the MSYS2 MinGW 64-bit shell (rather than the 32-bit shell) to do the build.
### Code of Conduct
......@@ -406,6 +291,16 @@ that case, but I haven't tested doing it like that. Sorry. Get a better OS...)
It is a bad idea to break this Code of Conduct *even if* no one complains
about your behavior.
### Project Governance
* the three maintainers listed at the top of this document are the ones in
charge of this project
* unanimous decisions are preferred
* 2 out of 3 can break a disagreement
* there will only ever be three maintainers of this project at any given time.
If you'd like to temporarily step in as one of the three,
send an inquiry to the list and we cany discuss it
### Contributor Guide
Contributing is easy:
......
......@@ -44,9 +44,9 @@ debdist = purr-data-$(debversion)
# nw.js sdk
# NOTE: arm packages need some special-casing, since they are released
# separately, and the version numbers do not always match up.
nwjsver = 0.24.4
nwjsver = 0.28.1
nwjspkg = nwjs-sdk-v$(nwjsver)-linux
nwjsver_arm = 0.24.5
nwjsver_arm = 0.27.6
nwjspkg_arm = nwjs-sdk-v$(nwjsver_arm)-linux
nwjs = $(nwjspkg)-ia32.tar.gz $(nwjspkg)-x64.tar.gz $(nwjspkg_arm)-arm.tar.gz
......
......@@ -2,13 +2,13 @@ Source: purr-data
Section: sound
Priority: extra
Maintainer: Albert Graef <aggraef@gmail.com>
Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, pkg-config, bison, flex, libgtk2.0-dev, libgtk-3-dev, python-dev, dh-python | python-support, flite1-dev, ladspa-sdk, libasound2-dev, libjack-dev, libbluetooth-dev, libcairo2-dev, libgl1-mesa-dev | libgl-dev, libglew1.6-dev | libglew-dev, libgsl-dev | libgsl0-dev, libmagick++-dev, libavifile-0.7-dev, libdc1394-22-dev, libfftw3-dev, libfluidsynth-dev, libftgl-dev, libgmerlin-avdec-dev, libgsm1-dev, libjpeg-dev, liblua5.3-dev | liblua5.2-dev, libmp3lame-dev, libmpeg3-dev, libquicktime-dev, libraw1394-dev, libsmpeg-dev, libspeex-dev, libstk0-dev, libtiff5-dev, libv4l-dev, libdv4-dev, libiec61883-dev, libxv-dev, libxxf86vm-dev, libvorbis-dev, zlib1g-dev (>= 1:1.1.3), rsync, libgconf2-dev, libnss3-dev, libxtst-dev, libxss-dev
Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, pkg-config, bison, flex, libgtk2.0-dev, libgtk-3-dev, python2-dev | python-dev, dh-python, flite1-dev, ladspa-sdk, libasound2-dev, libjack-dev, libbluetooth-dev, libcairo2-dev, libgl1-mesa-dev | libgl-dev, libglew1.6-dev | libglew-dev, libgsl-dev | libgsl0-dev, libmagick++-dev, libavifile-0.7-dev, libdc1394-22-dev, libfftw3-dev, libfluidsynth-dev, libftgl-dev, libgmerlin-avdec-dev, libgsm1-dev, libjpeg-dev, liblua5.3-dev | liblua5.2-dev, libmp3lame-dev, libmpeg3-dev, libquicktime-dev, libraw1394-dev, libsmpeg-dev, libspeex-dev, libstk0-dev, libtiff5-dev, libv4l-dev, libdv4-dev, libiec61883-dev, libxv-dev, libxxf86vm-dev, libvorbis-dev, zlib1g-dev (>= 1:1.1.3), rsync, libgconf2-dev, libnss3-dev, libxtst-dev, libxss-dev
Standards-Version: 3.9.5
Homepage: https://git.purrdata.net/jwilkes/purr-data
Package: purr-data
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}, liblua5.3-0 | liblua5.2-0
Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, omins, ubuntustudio-audio-plugins, rev-plugins, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
Suggests: python, fluid-soundfont-gm
Description: Interactive multimedia programming environment (NW.js variant)
......
......@@ -4,12 +4,12 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
nwjsver = 0.24.4
nwjsver = 0.28.1
nwjspkg = nwjs-sdk-v$(nwjsver)-linux
ifeq ("$(shell dpkg-architecture -qDEB_HOST_ARCH)","armhf")
arch = arm
nwjsver = 0.24.5
nwjsver = 0.27.6
else ifeq ("$(shell dpkg-architecture -qDEB_HOST_ARCH)","amd64")
arch = x64
else
......@@ -30,10 +30,16 @@ override_dh_auto_configure:
override_dh_auto_clean:
# This runs too late, 'make check' then fails, probably due to our meddling
# with the directory layout, executable names, etc., during 'make install'.
# Instead we invoke 'make check' right after the build, see below.
override_dh_auto_test:
override_dh_auto_build:
# Copy the nw.js sources to where purr-data wants them.
tar -xf debian/nwjs/$(nwjspkg)-$(arch).tar.gz && rm -rf pd/nw/nw && mv $(nwjspkg)-$(arch) pd/nw/nw
cd l2ork_addons && (export inst_dir=$(prefix); ./tar_em_up.sh -B -n)
cd l2ork_addons && (export V=0 inst_dir=$(prefix); ./tar_em_up.sh -Bn)
make check prefix=$(prefix)
override_dh_auto_install: