~tenacity/tenacity

a39ee7f83cd7808f0a2e26e966938e9c9a600bd4 — Sol Fisher Romanoff 13 days ago 543bf3b + 001fac3
Merge branch 'freebsd'
A .builds/freebsd.yml => .builds/freebsd.yml +25 -0
@@ 0,0 1,25 @@
image: freebsd/latest
packages:
  - x11-toolkits/wxgtk31
  - devel/cmake
  - devel/ninja
  - devel/pkgconf
  - audio/lame
  - audio/libsndfile
  - audio/libsoxr
  - audio/portaudio
  - audio/lv2
  - audio/lilv
  - audio/suil
  - audio/vamp-plugin-sdk
  - audio/portmidi
  - audio/libid3tag
  - audio/twolame
  - audio/libmad
  - audio/soundtouch
  - multimedia/ffmpeg
sources:
  - https://git.sr.ht/~tenacity/tenacity
tasks:
  - configure: cmake -G Ninja -S tenacity -B build
  - build: cmake --build build

M BUILDING.md => BUILDING.md +11 -1
@@ 29,7 29,7 @@ directory, such as `~/Downloads/wxWidgets-build`:
```
cd ~/Downloads
mkdir wxWidgets-build && cd wxWidgets-build  # create and go to a new empty build directory
cmake -G Ninja ~/Downloads/wxWidgets-3.1.5   # configure wxWidgets from the assumed download location 
cmake -G Ninja ~/Downloads/wxWidgets-3.1.5   # configure wxWidgets from the assumed download location
cmake --build .  # actual compilation
```



@@ 157,6 157,16 @@ sudo apk add gtk+3.0-dev zlib-dev libpng-dev tiff-dev libjpeg-turbo-dev expat-de

TODO: add portsmf and libsbsms to this package list when aports are accepted.


#### FreeBSD

wxWidgets 3.1.5 is packaged in FreeBSD's repositories. Install it and the rest
of Tenacity's dependencies:

```
sudo pkg install wx31-gtk3 cmake ninja pkgconf lame libsndfile libsoxr portaudio lv2 lilv suil vamp-plugin-sdk portmidi libid3tag twolame libmad soundtouch ffmpeg
```

#### vcpkg on Linux

Optionally, you can build dependencies from source using vcpkg, with the

M lib-src/libnyquist/nyquist/sys/unix/switches.h => lib-src/libnyquist/nyquist/sys/unix/switches.h +2 -1
@@ 39,7 39,8 @@
*/
#define nyquist_printf printf

#if __APPLE__ && __GNUC__ /* Mac OS X */
/* BSD, macOS and other Unixes */
#if __APPLE__ || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
#define NEED_ULONG 1
#else
#include <sys/types.h>

M lib-src/libnyquist/nyquist/xlisp/xlisp.h => lib-src/libnyquist/nyquist/xlisp/xlisp.h +14 -4
@@ 21,7 21,7 @@ extern "C" {
#endif

#include <stdlib.h> /* needed for getenv(); note that this was a problem
    for PMAX implementation, but I assume PMAX is obsolete now. 
    for PMAX implementation, but I assume PMAX is obsolete now.
    - RBD 16apr04 */
#include <stdio.h>
#include <ctype.h>


@@ 55,7 55,7 @@ extern "C" {
// #define IFMT        "%ld"
// #endif
/* #define SAVERESTORE */
#define XL_LITTLE_ENDIAN 
#define XL_LITTLE_ENDIAN
#define _longjmp longjmp
#define _setjmp setjmp
#endif


@@ 188,6 188,16 @@ extern long ptrtoabs();
#endif
#endif

/* BSD */
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
#include <stdint.h>
#if defined(__LITTLE_ENDIAN__)
#define XL_LITTLE_ENDIAN
#else
#define XL_BIG_ENDIAN
#endif
#endif

/* default important definitions */
#ifndef NNODES
#define NNODES		1000


@@ 283,7 293,7 @@ extern long ptrtoabs();
#define FT_OBCLASS	14
#define FT_OBSHOW	15
#define FT_OBISA        16
        

/* macro to push a value onto the argument stack */
#define pusharg(x)	{if (xlsp >= xlargstktop) xlargstkoverflow();\
                         *xlsp++ = (x);}


@@ 337,7 347,7 @@ void dbg_gc_xlsave(LVAL *n);
#define xlunbind(e)	{for (; xldenv != (e); xldenv = cdr(xldenv))\
                           setvalue(car(car(xldenv)),cdr(car(xldenv)));}

/* type predicates */			       
/* type predicates */
#define atomp(x)		((x) == NIL || ntype(x) != CONS)
#define null(x)		((x) == NIL)
#define listp(x)	((x) == NIL || ntype(x) == CONS)