├── hackrf ├── hackrf.conf └── APKBUILD ├── ngspice ├── sys_errlist.patch └── APKBUILD ├── oce ├── mallinfo.patch ├── feenableexcept.patch └── APKBUILD ├── trousers ├── fix-libressl.patch ├── APKBUILD └── musl-getpwent_r.patch ├── wxwidgets ├── fix-gcc6-disambiguate-abs.patch ├── APKBUILD └── wxGTK-collision.patch ├── eigen └── APKBUILD ├── dwdiff └── APKBUILD ├── ent └── APKBUILD ├── gl2ps └── APKBUILD ├── cgal └── APKBUILD ├── qscintilla-qt5 └── APKBUILD ├── opencsg └── APKBUILD ├── silversearcher └── APKBUILD ├── openscad ├── uic_qgettext.patch └── APKBUILD ├── tpm-tools └── APKBUILD ├── rtl-sdr └── APKBUILD ├── kicad ├── APKBUILD └── boost-1.61.patch ├── gr-osmosdr └── APKBUILD ├── volk └── APKBUILD ├── libuhd └── APKBUILD ├── wxpython └── APKBUILD ├── qwt ├── APKBUILD └── qwtconfig.pri └── gnuradio └── APKBUILD /hackrf/hackrf.conf: -------------------------------------------------------------------------------- 1 | # disable kernel drivers 2 | # blacklist hackrf 3 | -------------------------------------------------------------------------------- /ngspice/sys_errlist.patch: -------------------------------------------------------------------------------- 1 | --- src/ngspice-28/src/include/ngspice/ngspice.h 2 | +++ ngspice-28/src/include/ngspice/ngspice.h 3 | @@ -306,8 +306,10 @@ 4 | #undef fprintf 5 | #define fprintf sh_fprintf 6 | 7 | +/* 8 | #undef perror 9 | #define perror(string) fprintf(stderr, "%s: %s\n", string, sys_errlist[errno]) 10 | +*/ 11 | 12 | #undef fputs 13 | #define fputs sh_fputs 14 | -------------------------------------------------------------------------------- /oce/mallinfo.patch: -------------------------------------------------------------------------------- 1 | --- src/oce-OCE-0.18.3/src/OSD/OSD_MemInfo.cxx 2 | +++ oce-OCE-0.18.3/src/OSD/OSD_MemInfo.cxx 3 | @@ -96,7 +96,7 @@ 4 | myCounters[MemHeapUsage] += hinfo._size; 5 | } 6 | 7 | -#elif (defined(__linux__) || defined(__linux)) 8 | +#elif defined(__GLIBC__) 9 | // use procfs on Linux 10 | char aBuff[4096]; 11 | snprintf (aBuff, sizeof(aBuff), "/proc/%d/status", getpid()); 12 | -------------------------------------------------------------------------------- /trousers/fix-libressl.patch: -------------------------------------------------------------------------------- 1 | --- src/trspi/crypto/openssl/rsa.c 2016-11-21 03:16:10 UTC 2 | +++ src/trspi/crypto/openssl/rsa.c 3 | @@ -38,7 +38,7 @@ 4 | #define DEBUG_print_openssl_errors() 5 | #endif 6 | 7 | -#if OPENSSL_VERSION_NUMBER < 0x10100001L 8 | +#if OPENSSL_VERSION_NUMBER < 0x10100001L || defined(LIBRESSL_VERSION_NUMBER) 9 | static int 10 | RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) 11 | { 12 | -------------------------------------------------------------------------------- /wxwidgets/fix-gcc6-disambiguate-abs.patch: -------------------------------------------------------------------------------- 1 | --- src/stc/scintilla/src/Editor.cxx 2014-10-06 23:33:44.000000000 +0200 2 | +++ src/stc/scintilla/src/Editor.cxx 2016-09-18 15:34:29.359258750 +0200 3 | @@ -5841,9 +5841,9 @@ 4 | } 5 | 6 | static bool Close(Point pt1, Point pt2) { 7 | - if (abs(pt1.x - pt2.x) > 3) 8 | + if (abs(static_cast(pt1.x - pt2.x)) > 3) 9 | return false; 10 | - if (abs(pt1.y - pt2.y) > 3) 11 | + if (abs(static_cast(pt1.y - pt2.y)) > 3) 12 | return false; 13 | return true; 14 | } 15 | -------------------------------------------------------------------------------- /eigen/APKBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: stef 2 | 3 | pkgname=eigen 4 | pkgver=3.3.4 5 | pkgrel=0 6 | pkgdesc="C++ template library for linear algebra" 7 | arch="all" 8 | url="http://eigen.tuxfamily.org/" 9 | license="MPL-2.0, GPL-3, LGPL-2.1" 10 | source="http://bitbucket.org/eigen/eigen/get/${pkgver}.tar.bz2" 11 | subpackages="$pkgname-dev" 12 | 13 | builddir="$srcdir/eigen-eigen-5a0156e40feb/" 14 | build() { 15 | cd "$builddir" 16 | mkdir -p build 17 | cd build 18 | CXXFLAGS="-std=c++11 -g" \ 19 | cmake -DCMAKE_INSTALL_PREFIX=/usr "$builddir" 20 | make 21 | } 22 | 23 | package() { 24 | cd "$builddir/build" 25 | make DESTDIR="$pkgdir" install 26 | } 27 | 28 | sha512sums="d67a3fd8f7ce811af65fc1d43ec347dadf9c643a49135f7e455fc303773bad09e80a125282c7dfca7a1993b79e1f66576ac92418119fbb0fa50c1a581b957c0d 3.3.4.tar.bz2" 29 | -------------------------------------------------------------------------------- /dwdiff/APKBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: stef 2 | 3 | pkgname=dwdiff 4 | pkgver=2.1.1 5 | pkgrel=0 6 | pkgdesc="dwdiff is a diff program that operates at the word level instead of the line level." 7 | arch="all" 8 | url="http://os.ghalkes.nl/dwdiff.html" 9 | license="GPLv3" 10 | source="http://os.ghalkes.nl/dist/$pkgname-$pkgver.tar.bz2" 11 | makedepends="icu-dev" 12 | subpackages="$pkgname-doc" 13 | _builddir="$srcdir/$pkgname-$pkgver" 14 | 15 | prepare() { 16 | default_prepare || return 1 17 | } 18 | 19 | build() { 20 | cd "$_builddir" 21 | ./configure --without-gettext --prefix=/usr 22 | make 23 | } 24 | 25 | package() { 26 | cd "$_builddir" 27 | make DESTDIR="$pkgdir" install 28 | } 29 | 30 | sha512sums="b3392ef01c0701ea7738f1b539dab81727735e5de8ea77b56feae4e2f64dbda0155b479d7be0eedb65fc56ebc8d1a22c1ca67075abdec54205ad9c305b3751b7 dwdiff-2.1.1.tar.bz2" 31 | -------------------------------------------------------------------------------- /ent/APKBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: stef 2 | 3 | pkgname=ent 4 | pkgver=2008.01.28 5 | pkgrel=0 6 | pkgdesc="Evaluate pseudo random number generators" 7 | arch="all" 8 | url="http://www.fourmilab.ch/random/" 9 | license="Public Domain" 10 | makedepends="unzip" 11 | source="${url}/random.zip" 12 | 13 | prepare() { 14 | default_prepare || return 1 15 | } 16 | 17 | build() { 18 | make 19 | } 20 | 21 | package() { 22 | mkdir -p $pkgdir/bin 23 | cp $srcdir/ent $pkgdir/bin 24 | } 25 | 26 | # CFLAGS+=" $LDFLAGS" 27 | # vbin ent 28 | # vdoc ent.html 29 | # vdoc entitle.gif 30 | md5sums="8104a83af1ea5b280da96c92da18eae4 random.zip" 31 | sha256sums="c14ed62db24511848d6b37d4bf8869185b65be9042ffad5272257f3a249569ec random.zip" 32 | sha512sums="f74cfae8cd8b9f405b7459a350571d3ef438bdba42508da59ca214f6e7f6372d253a4c1a30685aa7dfc1cf14dde9796ea54bf42aa103a63bae09a5bb3fd3d3d8 random.zip" 33 | -------------------------------------------------------------------------------- /gl2ps/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: 2 | # Maintainer: 3 | pkgname=gl2ps 4 | pkgver=1.4.0 5 | pkgrel=0 6 | pkgdesc="OpenGL to Postscript printing library" 7 | url="http://www.geuz.org/gl2ps/" 8 | arch="all" 9 | license="LGPL2" 10 | depends="" 11 | makedepends="glu-dev freeglut-dev libxmu-dev zlib-dev libpng-dev cmake" 12 | install="" 13 | subpackages="$pkgname-dev $pkgname-doc" 14 | source="http://www.geuz.org/${pkgname}/src/$pkgname-$pkgver.tgz" 15 | _builddir="$srcdir/$pkgname-$pkgver-source" 16 | 17 | build() { 18 | cd "$_builddir" 19 | mkdir build 20 | cd build 21 | cmake .. -DCMAKE_INSTALL_PREFIX=/usr 22 | make PREFIX="/usr" 23 | } 24 | 25 | package() { 26 | cd "$_builddir/build" 27 | make DESTDIR="$pkgdir" install 28 | } 29 | 30 | sha512sums="420b21a5b4397c9a9a2323a8686b8635c2683354c94762d2d0172c661fc36c4298042498dd8ef2323adf32f45aa4e0a3dba146058ccde597e5a46c2027cbf7ce gl2ps-1.4.0.tgz" 31 | -------------------------------------------------------------------------------- /cgal/APKBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: stef 2 | 3 | pkgname=cgal 4 | pkgver=4.11 5 | pkgrel=0 6 | pkgdesc="Computational Geometry Algorithms Library" 7 | arch="all" 8 | url="http://www.cgal.org" 9 | license="GPLv3,LGPLv3" 10 | source="https://github.com/CGAL/cgal/archive/releases/CGAL-${pkgver}.tar.gz" 11 | subpackages="$pkgname-dev $pkgname-doc" 12 | makedepends="boost-dev eigen-dev gmp-dev mpfr-dev" 13 | 14 | builddir="$srcdir/cgal-releases-CGAL-${pkgver}" 15 | build() { 16 | cd "$builddir" 17 | mkdir -p build 18 | cd build 19 | CXXFLAGS="-std=c++11 -g" \ 20 | cmake -DCMAKE_INSTALL_PREFIX=/usr "$builddir" 21 | make 22 | } 23 | 24 | package() { 25 | cd "$builddir/build" 26 | make DESTDIR="$pkgdir" install 27 | } 28 | 29 | sha512sums="91e555d5988bee387afa31331e1e3a8990206468fd8c774fd82979d9ff169e9c4835ecc6ba3d576cda617b6cb2cd52d27657d2434e38b29ce0e7e643436810ab CGAL-4.11.tar.gz" 30 | -------------------------------------------------------------------------------- /qscintilla-qt5/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: 2 | # Maintainer: 3 | pkgname=qscintilla-qt5 4 | pkgver=2.10.1 5 | pkgrel=0 6 | pkgdesc="Port to Qt5 of Neil Hodgson's Scintilla C++ editor class" 7 | url="http://www.riverbankcomputing.co.uk/software/qscintilla/" 8 | arch="all" 9 | license="GPLv3" 10 | depends="" 11 | makedepends="qt5-qtbase-dev@community" 12 | install="" 13 | subpackages="$pkgname-dev" 14 | source="https://downloads.sourceforge.net/project/pyqt/QScintilla2/QScintilla-${pkgver}/QScintilla_gpl-${pkgver}.tar.gz" 15 | 16 | _builddir="$srcdir/QScintilla_gpl-${pkgver}/Qt4Qt5" 17 | 18 | build() { 19 | cd "$_builddir" 20 | qmake-qt5 qscintilla.pro || exit 1 21 | make 22 | } 23 | 24 | package() { 25 | cd "$_builddir" 26 | make INSTALL_ROOT=${pkgdir} install 27 | } 28 | 29 | sha512sums="ea9b95ca371a8af9262493ab59ecaef77e1697ba21d1d594aab39e836917884fd829aa4f6c4e72cce60b0d3f40eac654157cc507d027945f0034881855123ccc QScintilla_gpl-2.10.1.tar.gz" 30 | -------------------------------------------------------------------------------- /opencsg/APKBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: stef 2 | 3 | pkgname=opencsg 4 | pkgver=1.4.2 5 | pkgrel=0 6 | pkgdesc="A library that does image-based CSG rendering using OpenGL" 7 | arch="all" 8 | url="http://www.opencsg.org" 9 | license="GPLv2" 10 | source="$url/OpenCSG-${pkgver}.tar.gz" 11 | subpackages="$pkgname-dev $pkgname-doc" 12 | makedepends="glew-dev freeglut-dev" 13 | 14 | builddir="$srcdir/OpenCSG-${pkgver}" 15 | build() { 16 | cd "$builddir" 17 | sed -i 's#-Wl,-rpath,\.\./lib##' Makefile 18 | make -j1 19 | } 20 | 21 | package() { 22 | cd "$builddir" 23 | install -Dt "$pkgdir/usr/include" include/opencsg.h 24 | install -Dt "$pkgdir/usr/lib" lib/libopencsg* 25 | install -Dt "$pkgdir/usr/share/doc/img" doc/img/* 26 | install -Dt "$pkgdir/usr/share/doc" doc/*.html 27 | } 28 | 29 | sha512sums="fbe6f925982717ecca7bd0eacc4fc5b362c80c7663b1ff0d9a228f2b5e1d3625d3e6d324d9e634665c74e9c0fc37d10290ece293e59a3eba67035b6b700b7778 OpenCSG-1.4.2.tar.gz" 30 | -------------------------------------------------------------------------------- /silversearcher/APKBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: stef 2 | 3 | pkgname=ag 4 | pkgver=1.0.2 5 | pkgrel=0 6 | pkgdesc="A code-searching tool similar to ack, but faster." 7 | arch="all" 8 | url="http://geoff.greer.fm/ag/" 9 | license="Apache 2.0" 10 | source="$pkgname-$pkgver.tar.gz::https://github.com/ggreer/the_silver_searcher/archive/$pkgver.tar.gz" 11 | makedepends="automake autoconf" 12 | subpackages="$pkgname-doc" 13 | _builddir="$srcdir/the_silver_searcher-$pkgver" 14 | 15 | prepare() { 16 | default_prepare || return 1 17 | } 18 | 19 | build() { 20 | cd "$_builddir" 21 | aclocal 22 | autoconf 23 | autoheader 24 | automake --add-missing 25 | ./configure --prefix=/usr 26 | make 27 | } 28 | 29 | package() { 30 | cd "$_builddir" 31 | make DESTDIR="$pkgdir" install 32 | } 33 | 34 | sha512sums="58f06133907cf7d7f229b5153bef96b5e76ae6cbbcdaf7d00b52bd9d6595c006417365c2b8535254f943c2fd5559792953e14cc9ba1041d5dfbe0d5b4a3ba2c5 ag-1.0.2.tar.gz" 35 | -------------------------------------------------------------------------------- /ngspice/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: 2 | # Maintainer: 3 | pkgname=ngspice 4 | pkgver=28 5 | pkgrel=0 6 | pkgdesc="Mixed level/signal circuit simulator" 7 | url="http://ngspice.sourceforge.net/" 8 | arch="all" 9 | license="BSD" 10 | depends="" 11 | makedepends="libxaw-dev" 12 | install="" 13 | subpackages="$pkgname-dev $pkgname-doc" 14 | source="http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz 15 | sys_errlist.patch" 16 | _builddir="$srcdir/$pkgname-$pkgver" 17 | 18 | build() { 19 | cd "$_builddir" 20 | ./configure --prefix=/usr --with-ngshared --enable-xspice 21 | make 22 | } 23 | 24 | package() { 25 | cd "$_builddir" 26 | make DESTDIR="$pkgdir" install 27 | } 28 | 29 | sha512sums="e698e07662a9fb68051adc89dbee7be45e14eeee7592c1f0293e17d6b1edd39a3ecfb61b804530600f172117f4f2a8717ff916adf19de4099f352b1eff75c54c ngspice-28.tar.gz 30 | 3bbcdddd5e1ac0de51b63d075559e91f8688bee5b535c493389393166dafecbdc372f297a88d8046b57399e448e03cdbda6a102806e195ee552e4e90ea7d50f8 sys_errlist.patch" 31 | -------------------------------------------------------------------------------- /openscad/uic_qgettext.patch: -------------------------------------------------------------------------------- 1 | From 4fa5f0340a2b7b031a0b39f7de0ca795d52bb68b Mon Sep 17 00:00:00 2001 2 | From: Torsten Paul 3 | Date: Sun, 27 Nov 2016 19:29:04 +0100 4 | Subject: [PATCH] Handle 2 argument translation calls generated by Qt 5.7.1 5 | (fixes #1872). 6 | 7 | --- 8 | src/qtgettext.h | 12 +++++++++--- 9 | 1 file changed, 9 insertions(+), 3 deletions(-) 10 | 11 | diff --git src/qtgettext.h src/qtgettext.h 12 | index 6e66716..dbc4f17 100644 13 | --- src/qtgettext.h 14 | +++ src/qtgettext.h 15 | @@ -16,10 +16,16 @@ 16 | 17 | #define N_(String) String 18 | 19 | -inline QString _( const char *msgid, int category ) 20 | +inline QString _(const char *msgid, int category) 21 | { 22 | - Q_UNUSED( category ); 23 | - return QString::fromUtf8( _( msgid ) ); 24 | + Q_UNUSED(category); 25 | + return QString::fromUtf8(_(msgid)); 26 | +} 27 | + 28 | +inline QString _(const char *msgid, const char *disambiguation) 29 | +{ 30 | + Q_UNUSED(disambiguation); 31 | + return QString::fromUtf8(_(msgid)); 32 | } 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /tpm-tools/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=tpm-tools 4 | pkgver=1.3.9.1 5 | pkgrel=0 6 | makedepends="libressl-dev trousers-dev" 7 | pkgdesc="Manage and diagnose tools for a Trusted Platform Module (TPM)" 8 | license="CPL" 9 | url="http://trousers.sourceforge.net/" 10 | source="https://downloads.sourceforge.net/project/trousers/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz" 11 | subpackages="$pkgname-doc $pkgname-dev" 12 | 13 | builddir="$srcdir/$pkgname-$pkgver" 14 | 15 | unpack() { 16 | mkdir $builddir 17 | cd $builddir 18 | tar xzvf ../${pkgname}-${pkgver}.tar.gz 19 | } 20 | 21 | build() { 22 | cd "$builddir" 23 | CFLAGS='-Wno-error=misleading-indentation -Wno-error=bool-compare -Wno-error=logical-not-parentheses -lintl' \ 24 | ./configure --prefix=/usr 25 | make 26 | } 27 | 28 | package() { 29 | cd "$builddir" 30 | make DESTDIR="$pkgdir" install 31 | } 32 | 33 | sha512sums="63a9c0e761cd890cc0a218de79a9c0169e151aba7824c19bf6b7ec894cf41c4950de1f63bd849aa93a4bdff36cf0fe557bc17113912b6d77f57f2bf1190b6a08 tpm-tools-1.3.9.1.tar.gz" 34 | -------------------------------------------------------------------------------- /oce/feenableexcept.patch: -------------------------------------------------------------------------------- 1 | --- src/oce-OCE-0.18.3/src/OSD/OSD_signal.cxx 2 | +++ oce-OCE-0.18.3/src/OSD/OSD_signal.cxx 3 | @@ -217,7 +217,7 @@ 4 | // cout << "OSD::Handler: signal " << (int) theSignal << " occured inside a try block " << endl ; 5 | if ( ADR_ACT_SIGIO_HANDLER != NULL ) 6 | (*ADR_ACT_SIGIO_HANDLER)() ; 7 | -#ifdef linux 8 | +#ifdef __GLIBC__ 9 | if (fFltExceptions) 10 | feenableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); 11 | //feenableexcept (FE_INVALID | FE_DIVBYZERO); 12 | @@ -338,7 +338,7 @@ 13 | return; 14 | } 15 | #endif 16 | -#ifdef linux 17 | +#ifdef __GLIBC__ 18 | if (fFltExceptions) 19 | feenableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); 20 | //feenableexcept (FE_INVALID | FE_DIVBYZERO); 21 | @@ -394,7 +394,7 @@ 22 | cerr << "ieee_handler does not work !!! KO " << endl; 23 | #endif 24 | } 25 | -#elif defined (linux) 26 | +#elif defined (__GLIBC__) 27 | feenableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); 28 | //feenableexcept (FE_INVALID | FE_DIVBYZERO); 29 | fFltExceptions = Standard_True; 30 | -------------------------------------------------------------------------------- /rtl-sdr/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=rtlsdr 4 | pkgver=0.5.3 5 | pkgrel=0 6 | url="http://sdr.osmocom.org/trac/wiki/rtl-sdr" 7 | arch="all" 8 | license="GPL2" 9 | pkgdesc="turns your Realtek RTL2832 based DVB dongle into a SDR receiver" 10 | makedepends="cmake pkg-config libusb-dev" 11 | source="https://github.com/steve-m/lib${pkgname}/archive/v${pkgver}.tar.gz" 12 | subpackages="$pkgname-dev" 13 | 14 | builddir="$srcdir/lib$pkgname-$pkgver" 15 | 16 | build() { 17 | cd "$builddir" 18 | mkdir -p build 19 | cd build 20 | cmake -DCMAKE_INSTALL_PREFIX=/usr "$builddir" 21 | make 22 | } 23 | 24 | package() { 25 | cd "$builddir/build" 26 | make DESTDIR="$pkgdir" install 27 | #install rtl-sdr.rules 644 usr/lib/udev/rules.d 53-rtl-sdr.rules 28 | } 29 | 30 | md5sums="9f6d8c4b5e1998305d0346689b43db98 v0.5.3.tar.gz" 31 | sha256sums="98fb5c34ac94d6f2235a0bb41a08f8bed7949e1d1b91ea57a7c1110191ea58de v0.5.3.tar.gz" 32 | sha512sums="b2887b5df2728f8481b07fb4d8b9bee18b98c5c0ccd0c8e65c2e784a32826cc2301631e95e54071324e5dfbdaa11f0a5aa483cc619b864d4788c3700980b38b6 v0.5.3.tar.gz" 33 | -------------------------------------------------------------------------------- /kicad/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=kicad 4 | pkgver=5.0.0 5 | pkgrel=0 6 | makedepends="python-dev glew-dev cairo-dev libressl-dev boost-dev swig doxygen curl-dev cmake wxWidgets-dev glew-dev glm-dev ngspice-dev oce-dev libtbb libtbb-dev" 7 | pkgdesc="Electronic schematic and PCB design software" 8 | license="GPL2" 9 | url="http://kicad-pcb.org" 10 | source="https://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.xz" 11 | # boost-1.61.patch" 12 | subpackages="$pkgname-doc $pkgname-dbg" 13 | 14 | builddir="$srcdir/$pkgname-$pkgver" 15 | build() { 16 | cd "$builddir" 17 | mkdir -p build 18 | cd build 19 | CXXFLAGS="-std=c++11 -g" \ 20 | cmake -DCMAKE_INSTALL_PREFIX=/usr \ 21 | -DKICAD_BUILD_VERSION=$pkgver -DKICAD_SKIP_BOOST=ON \ 22 | -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_MODULES=ON -DKICAD_SCRIPTING_WXPYTHON=OFF \ 23 | "$builddir" 24 | make 25 | } 26 | 27 | package() { 28 | cd "$builddir/build" 29 | make DESTDIR="$pkgdir" install 30 | } 31 | 32 | sha512sums="79d4d34e8eaa5b6e4c7baac39a76f86af89adbaf3f9181b8cd846ed3a8db1b4c6dd7a36efefda3394d33ef828917909ad3bd8bb22435af9c6f671efbff125b42 kicad-5.0.0.tar.xz" 33 | -------------------------------------------------------------------------------- /wxwidgets/APKBUILD: -------------------------------------------------------------------------------- 1 | pkgname=wxWidgets 2 | pkgver=3.0.4 3 | pkgrel=0 4 | pkgdesc="The wxWidgets GUI toolkit library (pkgver 3)" 5 | license="wxWindows" 6 | url="http://www.wxwidgets.org/" 7 | makedepends="gtk+-dev libjpeg-turbo-dev tiff-dev libsm-dev libnotify-dev 8 | libxinerama-dev libmspack-dev sdl-dev glu-dev webkit2gtk-dev" 9 | subpackages="$pkgname-dev" 10 | source="https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz 11 | wxGTK-collision.patch" 12 | 13 | builddir="$srcdir/wxWidgets-$pkgver" 14 | 15 | prepare() { 16 | cd "$builddir" 17 | for i in $source; do 18 | case $i in 19 | *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;; 20 | esac 21 | done 22 | } 23 | 24 | build() { 25 | cd "$builddir" 26 | ./configure --prefix=/usr --enable-unicode --with-opengl --with-sdl --with-libmspack --with-libnotify 27 | make 28 | } 29 | 30 | package() { 31 | cd "$builddir" 32 | make DESTDIR="$pkgdir" install 33 | } 34 | 35 | sha512sums="e06ef9ac70433bcf2bf29bf99e7de5fc940108ee49a0623007b4cdfdec5aaeff617b5a232e9b303f2100bc3b3ab17856efd4970607b311de9ce211d9dc5a03b7 v3.0.4.tar.gz 36 | 4daae3a7b2077d12d4c4dd2b318cf77b0d794003fe43f3022181412daff694653003ad764f6efe4893caa5ffdc9ffaf9edb3bfc3b7bf429891522a60b67a2026 wxGTK-collision.patch" 37 | -------------------------------------------------------------------------------- /gr-osmosdr/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | # 3 | pkgname=gr-osmosdr 4 | pkgver=0.1.4 5 | pkgrel=0 6 | pkgdesc="Source block for Funcube Dongle, RTL-SDR, USRP, OsmoSDR, BladeRF, HackRF and AirSpy devices" 7 | arch='all' 8 | url="http://sdr.osmocom.org/trac/" 9 | license='GPL' 10 | subpackages="$pkgname-dev" 11 | # libuhd 12 | makedepends='gnuradio-dev rtlsdr-dev hackrf-dev' 13 | 14 | source="http://git.osmocom.org/gr-osmosdr/snapshot/$pkgname-$pkgver.tar.gz" 15 | 16 | _builddir="$srcdir/$pkgname-$pkgver" 17 | 18 | build() { 19 | cd "$_builddir" 20 | export PYTHON=python2 21 | mkdir -p build 22 | cd build 23 | cmake \ 24 | -DPYTHON_EXECUTABLE=$(which python2) \ 25 | -DPYTHON_INCLUDE_DIR=$(echo /usr/include/python2*) \ 26 | -DPYTHON_LIBRARY=$(echo /usr/lib/libpython2.*.so) \ 27 | -DCMAKE_INSTALL_PREFIX=/usr -Wno-dev ../ 28 | make 29 | } 30 | 31 | package() { 32 | cd "$_builddir/build" 33 | make DESTDIR="$pkgdir" install 34 | } 35 | md5sums="7238bf42ddd2ab91bbcc2713b3f99ed9 gr-osmosdr-0.1.4.tar.gz" 36 | sha256sums="59bb389431f72545f3ac51b87ceb98f3ba0591a1941f456ac4e67efb2ddb648c gr-osmosdr-0.1.4.tar.gz" 37 | sha512sums="092bc4b5360693dc76e6c15c5188d3a1703d54ed2a0cc25750af7dbdb7d20d57e40c430c8a81b71e84448ce57336d61a02b6a6e7f1c851a76353d58c9379c847 gr-osmosdr-0.1.4.tar.gz" 38 | -------------------------------------------------------------------------------- /oce/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: 2 | # Maintainer: 3 | pkgname=oce 4 | pkgver=0.18.3 5 | pkgrel=0 6 | pkgdesc="Open CASCADE community edition" 7 | url="http://github.com/tpaviot/oce" 8 | arch="all" 9 | license="GPL2.1" 10 | depends="" 11 | makedepends="libtbb libtbb-dev gl2ps-dev freeimage-dev tk-dev glu-dev tk" 12 | install="" 13 | subpackages="$pkgname-dev" 14 | source="http://github.com/tpaviot/${pkgname}/archive/OCE-$pkgver.tar.gz 15 | mallinfo.patch 16 | feenableexcept.patch" 17 | builddir="$srcdir/$pkgname-OCE-$pkgver" 18 | 19 | build() { 20 | cd "$builddir" 21 | mkdir build 22 | cd build 23 | cmake -DCMAKE_INSTALL_PREFIX=/usr -DOCE_INSTALL_PREFIX=/usr -DOCE_MULTITHREAD_LIBRARY:STRING=TBB -DOCE_WITH_GL2PS=ON -DOCE_WITH_FREEIMAGE=ON -DOCE_DRAW=ON .. 24 | make PREFIX="/usr" 25 | } 26 | 27 | package() { 28 | cd "$builddir/build" 29 | make DESTDIR="$pkgdir" install 30 | } 31 | 32 | sha512sums="6fdeb6ca4ce25361379872ccc465799d4a43407974c4f626b32df695e582b9e553cce17af6a6a7ff46ebed9b813d910ad23eb308a5356dabb9b9bbd4f42a8636 OCE-0.18.3.tar.gz 33 | 5d211f35a7f7b505fd8424c29b2baaa9ee6af241c5b0c18911e688f266526adeb50c96a3a35a72c24cee106723b66eed570427deb672018ad7d3b910aeb34f18 mallinfo.patch 34 | ef826d5d626bf1ec16fcab9779a044a8a4c53d909a20b604995eabecdc3afccfc08b6eb92d192bed9f29efa9cf55f1ff30b0104adacbc02d819d1224b28a2830 feenableexcept.patch" 35 | -------------------------------------------------------------------------------- /openscad/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: 2 | # Maintainer: 3 | pkgname=openscad 4 | pkgver=2015.03.3 5 | pkgrel=0 6 | pkgdesc="The programmers solid 3D CAD modeller" 7 | url="http://www.openscad.org" 8 | arch="all" 9 | license="GPLv2" 10 | depends="" 11 | makedepends="qscintilla-qt5-dev@ugly bison flex cgal-dev@ugly harfbuzz-dev opencsg-dev@ugly glew-dev" 12 | _distver="${pkgver%.*}-${pkgver##*.}" 13 | subpackages="$pkgname-doc" 14 | source="http://files.openscad.org/${pkgname}-${_distver}.src.tar.gz 15 | uic_qgettext.patch" 16 | 17 | _builddir="$srcdir/${pkgname}-${_distver}" 18 | 19 | prepare() { 20 | local i 21 | cd "$_builddir" 22 | for i in $source; do 23 | case $i in 24 | *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;; 25 | esac 26 | done 27 | } 28 | 29 | build() { 30 | cd "$_builddir" 31 | qmake-qt5 PREFIX=/usr || exit 1 32 | sed -i 's:-isystem /usr/include ::' Makefile || exit 1 33 | make 34 | } 35 | 36 | package() { 37 | cd "$_builddir" 38 | make INSTALL_ROOT=${pkgdir} install 39 | } 40 | 41 | sha512sums="b2cee90563bdf2cb9f7b5a0d637b2266f5fcd62add6147c9326b843a5b0975b8ec900d13a2aa86485fce4a5e7e53a08cf4171a3d1d66355e813d01ca9096faee openscad-2015.03-3.src.tar.gz 42 | 2b7ad58fb4ec843e71597587423797d2685360294976884ba618fb8efb4df88b780ab1da310502f66058934c36e2a351b75e00b492e955478a1fc65917998cc1 uic_qgettext.patch" 43 | -------------------------------------------------------------------------------- /volk/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=volk 4 | pkgver=1.3 5 | pkgrel=0 6 | pkgdesc="The Vector-Optimized Library of Kernels from Gnuradio" 7 | arch='x86 x86_64' 8 | url="http://libvolk.org/" 9 | license='GPL3' 10 | makedepends='boost-dev orc-dev cmake py-cheetah python2' 11 | source="http://libvolk.org/releases/volk-$pkgver.tar.gz" 12 | subpackages="$pkgname-dev" 13 | 14 | _builddir="$srcdir/$pkgname-$pkgver" 15 | prepare() { 16 | local i 17 | cd "$_builddir" 18 | for i in $source; do 19 | case $i in 20 | *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 21 | esac 22 | done 23 | sed -i -e "s|#![ ]*/usr/bin/env python$|&2|" $(find ./ -name '*.py') 24 | } 25 | 26 | build() { 27 | cd "$_builddir" 28 | export PYTHON=python2 29 | 30 | mkdir -p build 31 | cd build 32 | cmake \ 33 | -DPYTHON_EXECUTABLE=$(which python2) \ 34 | -DCMAKE_INSTALL_PREFIX=/usr -Wno-dev ../ 35 | make 36 | } 37 | 38 | package() { 39 | cd "$_builddir/build" 40 | make DESTDIR="$pkgdir" install 41 | } 42 | md5sums="d04edc0779431c8660a8a592792a3680 volk-1.3.tar.gz" 43 | sha256sums="90b69515d3cc6d76bbc589cec63d600b690bffe2e2938be2f895176f18f7e3af volk-1.3.tar.gz" 44 | sha512sums="5ee03d1e0f172e84b65ed3286f3ad2a0980552e8e309a20372d39629b3150f3d99518c6cd2930f173bd4cab327571fa5f3cb8c7fe3df9379e83378acd7242015 volk-1.3.tar.gz" 45 | -------------------------------------------------------------------------------- /trousers/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=trousers 4 | pkgver=0.3.14 5 | pkgrel=0 6 | makedepends="libressl-dev" 7 | pkgdesc="Trusted Computing Software Stack for the TPM" 8 | license="BSD" 9 | url="http://trousers.sourceforge.net/" 10 | source="https://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz 11 | fix-libressl.patch 12 | musl-getpwent_r.patch" 13 | subpackages="$pkgname-doc $pkgname-dev" 14 | 15 | #conf_files="/etc/tcsd.conf" 16 | #system_accounts=tss 17 | #tss_homedir=/var/lib/tpm 18 | 19 | builddir="$srcdir/$pkgname-$pkgver" 20 | 21 | unpack() { 22 | mkdir $builddir 23 | cd $builddir 24 | tar xzvf "$srcdir/${pkgname}-${pkgver}.tar.gz" 25 | } 26 | 27 | prepare() { 28 | local i 29 | cd "$builddir" 30 | for i in $source; do 31 | case $i in 32 | *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;; 33 | esac 34 | done 35 | } 36 | 37 | build() { 38 | cd "$builddir" 39 | ./configure --prefix=/usr 40 | make 41 | } 42 | 43 | package() { 44 | cd "$builddir" 45 | make DESTDIR="$pkgdir" install 46 | } 47 | 48 | sha512sums="bf87f00329cf1d76a12cf6b6181fa22f90e76af3c5786e6e2db98438d2d3f0c0e05364374664173f45e3a2f6c0e2364948d0b958a7845cb23fcb340150cd9b21 trousers-0.3.14.tar.gz 49 | f330c142c34fe6320d2ac486422c0caba9592a20304c7701cf8c774a162da07ff91b9f9faf23ea22c789c136e12af8a94de7d4eaa01d2a0aae32c6d904643927 fix-libressl.patch 50 | f7e876fd3fc24bf8ed305f3361f45c272541c37c779bb4326b71ee61fb1d6d6bf49f8a9a541dcd21b363824f57ba7da57170fdc57567ba34494f3f1fdaed3ec7 musl-getpwent_r.patch" 51 | -------------------------------------------------------------------------------- /trousers/musl-getpwent_r.patch: -------------------------------------------------------------------------------- 1 | --- src/tspi/ps/tspps.c.orig 2015-11-18 12:45:47.585113542 +0100 2 | +++ src/tspi/ps/tspps.c 2015-11-18 12:46:37.605577956 +0100 3 | @@ -45,7 +45,7 @@ 4 | 5 | static int user_ps_fd = -1; 6 | static MUTEX_DECLARE_INIT(user_ps_lock); 7 | -#if (defined (__FreeBSD__) || defined (__OpenBSD__)) 8 | +#if !defined(__GLIBC__) 9 | static MUTEX_DECLARE_INIT(user_ps_path); 10 | #endif 11 | static struct flock fl; 12 | @@ -60,7 +60,7 @@ 13 | TSS_RESULT result; 14 | char *file_name = NULL, *home_dir = NULL; 15 | struct passwd *pwp; 16 | -#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) 17 | +#if defined(__GLIBC__) 18 | struct passwd pw; 19 | #endif 20 | struct stat stat_buf; 21 | @@ -72,7 +72,7 @@ 22 | *file = strdup(file_name); 23 | return (*file) ? TSS_SUCCESS : TSPERR(TSS_E_OUTOFMEMORY); 24 | } 25 | -#if (defined (__FreeBSD__) || defined (__OpenBSD__)) 26 | +#if !defined(__GLIBC__) 27 | MUTEX_LOCK(user_ps_path); 28 | #endif 29 | 30 | @@ -90,7 +90,7 @@ 31 | #else 32 | setpwent(); 33 | while (1) { 34 | -#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) 35 | +#if defined(__GLIBC__) 36 | rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp); 37 | if (rc) { 38 | LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s", 39 | @@ -99,7 +99,7 @@ 40 | return TSPERR(TSS_E_INTERNAL_ERROR); 41 | } 42 | 43 | -#elif (defined (__FreeBSD__) || defined (__OpenBSD__)) 44 | +#elif !defined(__GLIBC__) 45 | if ((pwp = getpwent()) == NULL) { 46 | LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s", 47 | strerror(rc)); 48 | -------------------------------------------------------------------------------- /libuhd/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=libuhd 4 | pkgver=3.9.5 5 | _verstring='003_009_005' 6 | pkgrel=0 7 | pkgdesc="Universal Software Radio Peripheral (USRP) userspace driver" 8 | arch='all' 9 | url="http://www.ettus.com/kb/category/software-documentation/uhd-manual" 10 | license='GPL' 11 | makedepends='make boost-dev py-cheetah py-mako orc-dev libusb-dev doxygen' 12 | 13 | source="$pkgname-$pkgver.tar.gz::https://github.com/EttusResearch/uhd/archive/release_${_verstring}.tar.gz" 14 | 15 | _builddir="$srcdir/uhd-release_$_verstring/host" 16 | prepare() { 17 | local i 18 | cd "$_builddir" 19 | for i in $source; do 20 | case $i in 21 | *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 22 | esac 23 | done 24 | find -name "*.py" -or -name '*.py.in' | xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|" 25 | 26 | } 27 | 28 | build() { 29 | cd "$_builddir" 30 | mkdir -p build 31 | cd build 32 | cmake .. -DCMAKE_INSTALL_PREFIX=/usr/ \ 33 | -DPYTHON_EXECUTABLE=/usr/bin/python2 \ 34 | -DENABLE_EXAMPLES=OFF \ 35 | -DENABLE_UTILS=ON \ 36 | -DENABLE_TESTS=OFF \ 37 | -DENABLE_E100=ON \ 38 | -DENABLE_E300=ON 39 | make 40 | } 41 | 42 | package() { 43 | cd "$_builddir/build" 44 | make DESTDIR="$pkgdir" install 45 | install -Dm644 "../utils/uhd-usrp.rules" "$pkgdir/usr/lib/udev/rules.d/10-uhd-usrp.rules" 46 | } 47 | md5sums="d143e946543dadda670a163242ea0ad0 libuhd-3.9.5.tar.gz" 48 | sha256sums="8e642d724412712fa8a799f3ae4c6aff5352167942e5c4e77243fca8db14a7bb libuhd-3.9.5.tar.gz" 49 | sha512sums="0a0283d1bfa75ce959f605a802e7f839fb1610d35293e7d040439d7ed3a17db87ebfb9e73df95f8caf907eb314351d274cf93bf5387910444d5bc257d79f34cd libuhd-3.9.5.tar.gz" 50 | -------------------------------------------------------------------------------- /wxpython/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | 3 | pkgname=wxPython 4 | pkgver=3.0.2.0 5 | pkgrel=0 6 | wrksrc="${pkgname}-src-${pkgver}" 7 | makedepends="zlib-dev libpng-dev libjpeg-turbo-dev tiff-dev expat-dev gtk+-dev 8 | libsm-dev mesa-dev glu-dev webkitgtk-dev libnotify-dev python-dev" 9 | # wxgtk-dev@community wxgtk@community wxgtk-media@community wxgtk-base@community" 10 | depends="python" 11 | short_desc="The wxWidgets GUI toolkit library (Python Bindings)" 12 | url="http://www.wxpython.org/" 13 | license="wxWindows" 14 | source="http://downloads.sourceforge.net/wxpython/${pkgname}-src-${pkgver}.tar.bz2" 15 | subpackages="$pkgname-dev" 16 | 17 | #pre_configure() { 18 | # mv wxPython/wx/tools/Editra/{editra,Editra} 19 | 20 | builddir="$srcdir/$pkgname-src-$pkgver" 21 | 22 | build() { 23 | cd "$builddir" 24 | ./configure --prefix=/usr --enable-monolithic --with-gtk=2 --with-x \ 25 | --with-opengl --enable-unicode --enable-graphics_ctx \ 26 | --enable-optimize --with-regex=builtin \ 27 | --with-libpng=sys --with-libxpm=sys --with-libjpeg=sys \ 28 | --with-libtiff=sys --disable-precomp-headers 29 | cd wxPython 30 | LDFLAGS=`wx-config --libs` \ 31 | CPPFLAGS=`wx-config --cppflags` \ 32 | python2.7 setup.py WX_CONFIG=wx-config WXPORT=gtk2 UNICODE=1 build 33 | } 34 | 35 | package() { 36 | cd "$builddir/wxPython" 37 | LDFLAGS=`wx-config --libs` \ 38 | CPPFLAGS=`wx-config --cppflags` \ 39 | python2.7 setup.py WX_CONFIG=wx-config WXPORT=gtk2 UNICODE=1 install --root=${pkgdir} 40 | } 41 | 42 | md5sums="922b02ff2c0202a7bf1607c98bbbbc04 wxPython-src-3.0.2.0.tar.bz2" 43 | sha256sums="d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61 wxPython-src-3.0.2.0.tar.bz2" 44 | sha512sums="a3798e89ff19344253aac7d771971e519f7fa9723e82bd97e98f16fd7f1572e513170b02295b872dae0b1ae3fa95efc4ef34d078045b839694b4fdad3a27c9e4 wxPython-src-3.0.2.0.tar.bz2" 45 | -------------------------------------------------------------------------------- /hackrf/APKBUILD: -------------------------------------------------------------------------------- 1 | pkgname=hackrf 2 | pkgver=2015.07.2 3 | pkgrel=0 4 | pkgdesc="Driver for HackRF, allowing general purpose software defined radio (SDR)." 5 | arch="all" 6 | url="https://github.com/mossmann/hackrf" 7 | license='GPL2' 8 | makedepends='cmake libusb-dev' 9 | subpackages="$pkgname-dev" 10 | 11 | source="https://github.com/mossmann/hackrf/releases/download/v${pkgver}/hackrf-$pkgver.tar.xz 12 | hackrf.conf" 13 | 14 | builddir="$srcdir/$pkgname-$pkgver" 15 | 16 | prepare() { 17 | cd "$builddir/host" 18 | # FS#41895 19 | sed -i 's|MODE.*$|TAG+="uaccess"|' libhackrf/53-hackrf.rules* 20 | } 21 | 22 | build() { 23 | cd "$builddir/host" 24 | mkdir -p build 25 | cd build 26 | cmake -DCMAKE_INSTALL_PREFIX=/usr ../ 27 | make 28 | } 29 | 30 | package() { 31 | cd "$builddir" 32 | cd host/build 33 | make DESTDIR="$pkgdir" install 34 | cd ../.. 35 | cd host/libhackrf 36 | install -vD -m644 53-hackrf.rules "$pkgdir/usr/lib/udev/rules.d/53-hackrf.rules" 37 | cd ../.. 38 | cd firmware-bin 39 | install -vD -m644 hackrf_jawbreaker_usb_rom_to_ram.bin "$pkgdir/usr/share/hackrf/hackrf_jawbreaker_usb_rom_to_ram.bin" 40 | install -vD -m644 hackrf_one_usb_rom_to_ram.bin "$pkgdir/usr/share/hackrf/hackrf_usb_rom_to_ram.bin" 41 | install -Dm644 "$srcdir/hackrf.conf" "$pkgdir/etc/modprobe.d/hackrf.conf" 42 | } 43 | md5sums="67595d2dad1c299138baf9a85ec37341 hackrf-2015.07.2.tar.xz 44 | 31dd2a1b06a8b9cd2662afc2bfd7118d hackrf.conf" 45 | sha256sums="5e3d9c36928b88cdbc0d66ee54e24e8682972dba478abfca0e31069515b870b6 hackrf-2015.07.2.tar.xz 46 | 1e508ecebec36af87943b86c2cdcdedc42607524d138d02aa8692f8821f8d21c hackrf.conf" 47 | sha512sums="a4f7b7800ece9b260d5c8c374f5544aa55cd2e97e10c6a0b33cf476e2ad4811321ffb1308d9dfb2168b2624cd3af616d1c314ad86bcd6f4c3fd0897319fa2cbd hackrf-2015.07.2.tar.xz 48 | a3eefe7670d21ea2c10873db21dc9fc06ae9690022e1357b327f2622623242da296f93d7c6034a92ba940e42d620ef541bd6afa613bf9d019c17240eb6ea6a42 hackrf.conf" 49 | -------------------------------------------------------------------------------- /qwt/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: 2 | # Maintainer: 3 | pkgname=qwt 4 | pkgver=6.1.3 5 | pkgrel=0 6 | pkgdesc="Qt Widgets for Technical Applications" 7 | url="http://qwt.sourceforge.net/" 8 | arch="all" 9 | license="Qwt1.0" 10 | depends="" 11 | makedepends="qmake" 12 | install="" 13 | subpackages="$pkgname-dev $pkgname-doc" 14 | source="http://downloads.sourceforge.net/qwt/qwt/qwt-$pkgver.zip 15 | qwtconfig.pri" 16 | _builddir="$srcdir/$pkgname-$pkgver" 17 | 18 | build() { 19 | cd "$_builddir" 20 | cp "$srcdir/qwtconfig.pri" . 21 | qmake qwt.pro || exit 1 22 | make 23 | } 24 | 25 | package() { 26 | cd "$_builddir" 27 | make INSTALL_ROOT=${pkgdir} install 28 | 29 | # install web designer plugin 30 | install -d ${pkgdir}/usr/lib/qt4/plugins/designer/ 31 | install -Dm755 designer/plugins/designer/libqwt_designer_plugin.so \ 32 | ${pkgdir}/usr/lib/qt4/plugins/designer/ 33 | 34 | # needed by qmake (FS#30407) 35 | install -d "${pkgdir}"/usr/share/qt4/mkspecs/features/ 36 | install -m644 qwtconfig.pri qwt.prf qwtfunctions.pri \ 37 | "${pkgdir}"/usr/share/qt4/mkspecs/features/ 38 | 39 | # move man pages 40 | mv "${pkgdir}"/usr/share/doc/qwt/man/ "${pkgdir}"/usr/share/ 41 | 42 | # install licence 43 | install -Dm644 ${srcdir}/${pkgname}-${pkgver}/COPYING \ 44 | ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE 45 | } 46 | 47 | md5sums="558911df37aee4c0c3049860e967401c qwt-6.1.3.zip 48 | 21f87d52b84ba69f9dec15c23b8b257a qwtconfig.pri" 49 | sha256sums="027c32c0473a682c1db5b9cb02ebed5e39a4fbb0afd2306e23b1113c30006042 qwt-6.1.3.zip 50 | 1e9c64e64723428e23274d3b3f815dae0fbca5594249b126444c8e74a6e14b6e qwtconfig.pri" 51 | sha512sums="8f249e23d50f71d14fca37776ea40d8d6931db14d9602e03a343bfb7a9bf55502202103135b77f583c3890a7924220e8a142a01c448dbde311860d89a3b10fc8 qwt-6.1.3.zip 52 | 1cbfbfe836b62116da55baaff6018db36b8556fbdf7ccb5506640b01e644122cb616a2a8d5499d947356c163ca1e0402f34acf318e3f55ef466090909fd56947 qwtconfig.pri" 53 | -------------------------------------------------------------------------------- /gnuradio/APKBUILD: -------------------------------------------------------------------------------- 1 | # Contributor: stef 2 | # 3 | pkgname=gnuradio 4 | pkgver=3.7.10.1 5 | pkgrel=0 6 | pkgdesc="General purpose DSP and SDR toolkit." 7 | arch='x86 x86_64' 8 | url="http://gnuradio.org" 9 | license='GPL' 10 | subpackages="$pkgname-dev" 11 | # libuhd 12 | makedepends='fftw-dev py-numpy@community cppunit-dev gsl-dev py-gtk wxgtk-dev@community volk-dev 13 | libusb-dev portaudio-dev boost-dev zeromq-dev cmake py-lxml py-cheetah@testing glu swig wxPython-dev qwt-dev' 14 | # py-pyqwt qwtplot3d' 15 | 16 | source="http://gnuradio.org/releases/$pkgname/$pkgname-$pkgver.tar.gz 17 | http://gnuradio.org/releases/$pkgname/$pkgname-$pkgver.tar.gz.asc" 18 | 19 | _builddir="$srcdir/gnuradio-$pkgver" 20 | prepare() { 21 | local i 22 | cd "$_builddir" 23 | for i in $source; do 24 | case $i in 25 | *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; 26 | esac 27 | done 28 | sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ 29 | $(find ./ -name '*.py') \ 30 | $(find ./ -name 'gnuradio-companion' -o -name 'flow_graph.tmpl') 31 | sed -i -e "s|#![ ]*/usr/bin/env /usr/bin/python$|#!/usr/bin/env python2|" \ 32 | $(find ./ -name '*.py') 33 | } 34 | 35 | build() { 36 | cd "$_builddir" 37 | export PYTHON=python2 38 | cd "$srcdir/$pkgname-$pkgver" 39 | sed -i -e "s|GR_PKG_LIBEXEC_DIR|GR_RUNTIME_DIR|" grc/scripts/freedesktop/CMakeLists.txt 40 | #sed -i -e "s|/qwt$|/qwt5|" -e "s| qwt | qwt5 |" cmake/Modules/FindQwt.cmake 41 | sed -i -e "s| sphinx-build$| sphinx-build2|" cmake/Modules/FindSphinx.cmake 42 | msg "Starting build." 43 | mkdir -p build 44 | cd build 45 | #-DENABLE_INTERNAL_VOLK=OFF \ 46 | 47 | cmake \ 48 | -DPYTHON_EXECUTABLE=$(which python2) \ 49 | -DPYTHON_INCLUDE_DIR=$(echo /usr/include/python2*) \ 50 | -DPYTHON_LIBRARY=$(echo /usr/lib/libpython2.*.so) \ 51 | -DENABLE_GR_WXGUI=ON \ 52 | -DENABLE_GR_QTGUI=ON \ 53 | -DENABLE_GRC=ON \ 54 | -DCMAKE_INSTALL_PREFIX=/usr -Wno-dev ../ 55 | make 56 | } 57 | 58 | package() { 59 | cd "$_builddir/build" 60 | make DESTDIR="$pkgdir" install 61 | } 62 | md5sums="885d637669c2dfc2b005c24e16327c96 gnuradio-3.7.10.1.tar.gz 63 | 9c9a556b2fed1fe2ed951e4a7f21b590 gnuradio-3.7.10.1.tar.gz.asc" 64 | sha256sums="63d7b65cc4abe22f47b8f41caaf7370a0a502b91e36e29901ba03e8838ab4937 gnuradio-3.7.10.1.tar.gz 65 | 135f727d3252c802fe4cac2df8b112e187cb7bb25b45b5c87dbca7348d2121ce gnuradio-3.7.10.1.tar.gz.asc" 66 | sha512sums="101ea704e25d8ddc1b124c3be23b5020f3f504cab7b2762ba41172d8d07822018e583179e8d15d2b4c224fb8fad68ea4b5e135bcb40126aa6317ee51c47883f6 gnuradio-3.7.10.1.tar.gz 67 | 10c256e6a4bd82d035eb08295b1862d8de48dd86cd33f2c4569d2dcce267a4b11c6d609ccc9a5c786a2125f6178147d314765004480ab240f10589e9dd7df065 gnuradio-3.7.10.1.tar.gz.asc" 68 | -------------------------------------------------------------------------------- /qwt/qwtconfig.pri: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # Qwt Widget Library 3 | # Copyright (C) 1997 Josef Wilgen 4 | # Copyright (C) 2002 Uwe Rathmann 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the Qwt License, Version 1.0 8 | ################################################################ 9 | 10 | QWT_VER_MAJ = 6 11 | QWT_VER_MIN = 1 12 | QWT_VER_PAT = 3 13 | QWT_VERSION = $${QWT_VER_MAJ}.$${QWT_VER_MIN}.$${QWT_VER_PAT} 14 | 15 | ###################################################################### 16 | # Install paths 17 | ###################################################################### 18 | 19 | QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX] 20 | 21 | unix { 22 | QWT_INSTALL_PREFIX = /usr 23 | } 24 | 25 | win32 { 26 | QWT_INSTALL_PREFIX = C:/Qwt 27 | } 28 | 29 | QWT_INSTALL_DOCS = $${QWT_INSTALL_PREFIX}/share/doc/qwt 30 | QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include/qwt6 31 | QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib 32 | 33 | ###################################################################### 34 | # Designer plugin 35 | ###################################################################### 36 | 37 | #QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer 38 | # QWT_INSTALL_PLUGINS = $${QT_INSTALL_PREFIX}/plugins/designer 39 | 40 | ###################################################################### 41 | # Features 42 | # When building a Qwt application with qmake you might want to load 43 | # the compiler/linker flags, that are required to build a Qwt application 44 | # from qwt.prf. Therefore all you need to do is to add "CONFIG += qwt" 45 | # to your project file and take care, that qwt.prf can be found by qmake. 46 | # ( see http://doc.trolltech.com/4.7/qmake-advanced-usage.html#adding-new-configuration-features ) 47 | # I recommend not to install the Qwt features together with the 48 | # Qt features, because you will have to reinstall the Qwt features, 49 | # with every Qt upgrade. 50 | ###################################################################### 51 | 52 | QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/share/qwt/features 53 | # QWT_INSTALL_FEATURES = $${QT_INSTALL_PREFIX}/features 54 | 55 | ###################################################################### 56 | # Build the static/shared libraries. 57 | # If QwtDll is enabled, a shared library is built, otherwise 58 | # it will be a static library. 59 | ###################################################################### 60 | 61 | QWT_CONFIG += QwtDll 62 | 63 | ###################################################################### 64 | # QwtPlot enables all classes, that are needed to use the QwtPlot 65 | # widget. 66 | ###################################################################### 67 | 68 | QWT_CONFIG += QwtPlot 69 | 70 | ###################################################################### 71 | # QwtWidgets enables all classes, that are needed to use the all other 72 | # widgets (sliders, dials, ...), beside QwtPlot. 73 | ###################################################################### 74 | 75 | QWT_CONFIG += QwtWidgets 76 | 77 | ###################################################################### 78 | # If you want to display svg images on the plot canvas, or 79 | # export a plot to a SVG document 80 | ###################################################################### 81 | 82 | QWT_CONFIG += QwtSvg 83 | 84 | ###################################################################### 85 | # You can use the MathML renderer of the Qt solutions package to 86 | # enable MathML support in Qwt. Because of license implications 87 | # the ( modified ) code of the MML Widget solution is included and 88 | # linked together with the QwtMathMLTextEngine into an own library. 89 | # To use it you will have to add "CONFIG += qwtmathml" 90 | # to your qmake project file. 91 | ###################################################################### 92 | 93 | #QWT_CONFIG += QwtMathML 94 | 95 | ###################################################################### 96 | # If you want to build the Qwt designer plugin, 97 | # enable the line below. 98 | # Otherwise you have to build it from the designer directory. 99 | ###################################################################### 100 | 101 | QWT_CONFIG += QwtDesigner 102 | 103 | ###################################################################### 104 | # If you want to auto build the examples, enable the line below 105 | # Otherwise you have to build them from the examples directory. 106 | ###################################################################### 107 | 108 | #QWT_CONFIG += QwtExamples 109 | 110 | ###################################################################### 111 | # When Qt has been built as framework qmake ( qtAddLibrary ) wants 112 | # to link frameworks instead of regular libs 113 | ###################################################################### 114 | 115 | macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { 116 | 117 | QWT_CONFIG += QwtFramework 118 | } 119 | -------------------------------------------------------------------------------- /wxwidgets/wxGTK-collision.patch: -------------------------------------------------------------------------------- 1 | diff -Naur Makefile.in Makefile.in 2 | --- Makefile.in 2014-10-06 23:33:44.000000000 +0200 3 | +++ Makefile.in 2014-11-19 10:48:18.752319058 +0100 4 | @@ -15258,9 +15258,11 @@ 5 | 6 | install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install $(__cocoa_res_install___depname) 7 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal 8 | - (cd $(srcdir) ; $(INSTALL_DATA) wxwin.m4 $(DESTDIR)$(datadir)/aclocal) 9 | + (cd $(srcdir) ; $(INSTALL_DATA) wxwin.m4 $(DESTDIR)$(datadir)/aclocal/wxwin3.m4) 10 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets 11 | - (cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA) wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets) 12 | + (cd $(srcdir)/build/bakefiles/wxpresets/presets ; \ 13 | + for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \ 14 | + $(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done) 15 | $(DYLIB_RPATH_INSTALL) 16 | $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx 17 | for f in setup.h $(RCDEFS_H); do \ 18 | @@ -16145,7 +16147,7 @@ 19 | $(INSTALL_DIR) $(DESTDIR)$(bindir) 20 | $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config 21 | $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config 22 | - (cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config) 23 | + (cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE)) 24 | 25 | locale_install: 26 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale 27 | @@ -16153,7 +16155,7 @@ 28 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \ 29 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \ 30 | if test -f $(srcdir)/locale/$$l.mo ; then \ 31 | - $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \ 32 | + $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \ 33 | fi ; \ 34 | done 35 | 36 | @@ -16170,7 +16172,7 @@ 37 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \ 38 | $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \ 39 | if test -f $(srcdir)/locale/msw/$$l.mo ; then \ 40 | - $(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \ 41 | + $(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw$(WX_RELEASE_NODOT).mo ; \ 42 | fi ; \ 43 | done 44 | 45 | diff -Naur build/bakefiles/wx.bkl build/bakefiles/wx.bkl 46 | --- build/bakefiles/wx.bkl 2014-10-06 23:33:44.000000000 +0200 47 | +++ build/bakefiles/wx.bkl 2014-11-19 10:32:21.692283955 +0100 48 | @@ -137,7 +137,7 @@ 49 | 50 | 51 | $(SRCDIR)/locale 52 | - wxstd 53 | + wxstd$(WX_RELEASE_NODOT) 54 | 55 | ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk 56 | zh zh_CN zh_TW 57 | diff -Naur src/common/translation.cpp src/common/translation.cpp 58 | --- src/common/translation.cpp 2014-10-06 23:33:44.000000000 +0200 59 | +++ src/common/translation.cpp 2014-11-19 11:02:21.067788665 +0100 60 | @@ -1471,7 +1471,7 @@ 61 | 62 | bool wxTranslations::AddStdCatalog() 63 | { 64 | - if ( !AddCatalog(wxS("wxstd")) ) 65 | + if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) ) 66 | return false; 67 | 68 | // there may be a catalog with toolkit specific overrides, it is not 69 | diff -Naur utils/wxrc/Makefile.in utils/wxrc/Makefile.in 70 | --- utils/wxrc/Makefile.in 2014-10-06 23:33:44.000000000 +0200 71 | +++ utils/wxrc/Makefile.in 2014-11-19 10:49:55.410110669 +0100 72 | @@ -125,7 +125,6 @@ 73 | @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE) 74 | @COND_USE_XRC_1@ $(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir) 75 | @COND_USE_XRC_1@ mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE) 76 | -@COND_USE_XRC_1@ (cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT)) 77 | 78 | @COND_USE_XRC_1@uninstall_wxrc: 79 | @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) 80 | -------------------------------------------------------------------------------- /kicad/boost-1.61.patch: -------------------------------------------------------------------------------- 1 | --- a/common/tool/tool_manager.cpp 2 | +++ b/common/tool/tool_manager.cpp 3 | @@ -532,11 +532,11 @@ 4 | if( st->cofunc ) 5 | st->Push(); 6 | 7 | + st->cofunc = new COROUTINE( tr.second ); 8 | + 9 | // as the state changes, the transition table has to be set up again 10 | st->transitions.clear(); 11 | 12 | - st->cofunc = new COROUTINE( tr.second ); 13 | - 14 | // got match? Run the handler. 15 | st->cofunc->Call( aEvent ); 16 | 17 | --- a/include/tool/coroutine.h 18 | +++ b/include/tool/coroutine.h 19 | @@ -27,10 +28,15 @@ 20 | 21 | #include 22 | 23 | -#include 24 | #include 25 | +#include 26 | 27 | -#include "delegate.h" 28 | +#if BOOST_VERSION <= 106000 29 | +#include 30 | +#else 31 | +#include 32 | +#include 33 | +#endif 34 | 35 | /** 36 | * Class COROUNTINE. 37 | @@ -53,13 +59,12 @@ 38 | * See coroutine_example.cpp for sample code. 39 | */ 40 | 41 | -template 42 | +template 43 | class COROUTINE 44 | { 45 | public: 46 | COROUTINE() : 47 | - m_saved( NULL ), m_self( NULL ), m_stack( NULL ), m_stackSize( c_defaultStackSize ), 48 | - m_running( false ) 49 | + COROUTINE( nullptr ) 50 | { 51 | } 52 | 53 | @@ -69,8 +74,7 @@ 54 | */ 55 | template 56 | COROUTINE( T* object, ReturnType(T::* ptr)( ArgType ) ) : 57 | - m_func( object, ptr ), m_self( NULL ), m_saved( NULL ), m_stack( NULL ), 58 | - m_stackSize( c_defaultStackSize ), m_running( false ) 59 | + COROUTINE( std::bind( ptr, object, std::placeholders::_1 ) ) 60 | { 61 | } 62 | 63 | @@ -78,9 +82,15 @@ 64 | * Constructor 65 | * Creates a coroutine from a delegate object 66 | */ 67 | - COROUTINE( DELEGATE aEntry ) : 68 | - m_func( aEntry ), m_saved( NULL ), m_self( NULL ), m_stack( NULL ), 69 | - m_stackSize( c_defaultStackSize ), m_running( false ) 70 | + COROUTINE( std::function aEntry ) : 71 | + m_func( std::move( aEntry ) ), 72 | + m_running( false ), 73 | +#if BOOST_VERSION <= 106000 74 | + m_stack( nullptr ), 75 | + m_stackSize( c_defaultStackSize ), 76 | +#endif 77 | + m_caller( nullptr ), 78 | + m_callee( nullptr ) 79 | { 80 | // Avoid not initialized members, and make static analysers quiet 81 | m_args = 0; 82 | @@ -89,18 +99,26 @@ 83 | 84 | ~COROUTINE() 85 | { 86 | - if( m_saved ) 87 | - delete m_saved; 88 | - 89 | #if BOOST_VERSION >= 105600 90 | - if( m_self ) 91 | - delete m_self; 92 | + delete m_callee; 93 | #endif 94 | 95 | +#if BOOST_VERSION <= 106000 96 | + delete m_caller; 97 | + 98 | if( m_stack ) 99 | free( m_stack ); 100 | +#endif 101 | } 102 | 103 | +private: 104 | +#if BOOST_VERSION <= 106000 105 | + using context_type = boost::context::fcontext_t; 106 | +#else 107 | + using context_type = boost::context::execution_context; 108 | +#endif 109 | + 110 | +public: 111 | /** 112 | * Function Yield() 113 | * 114 | @@ -110,7 +128,12 @@ 115 | */ 116 | void Yield() 117 | { 118 | - jump( m_self, m_saved, 0 ); 119 | +#if BOOST_VERSION <= 106000 120 | + jump( m_callee, m_caller, false ); 121 | +#else 122 | + auto result = (*m_caller)( this ); 123 | + *m_caller = std::move( std::get<0>( result ) ); 124 | +#endif 125 | } 126 | 127 | /** 128 | @@ -122,7 +145,11 @@ 129 | void Yield( ReturnType& aRetVal ) 130 | { 131 | m_retVal = aRetVal; 132 | - jump( m_self, m_saved, 0 ); 133 | +#if BOOST_VERSION <= 106000 134 | + jump( m_callee, m_caller, false ); 135 | +#else 136 | + m_caller( this ); 137 | +#endif 138 | } 139 | 140 | /** 141 | @@ -130,9 +157,9 @@ 142 | * 143 | * Defines the entry point for the coroutine, if not set in the constructor. 144 | */ 145 | - void SetEntry( DELEGATE aEntry ) 146 | + void SetEntry( std::function aEntry ) 147 | { 148 | - m_func = aEntry; 149 | + m_func = std::move( aEntry ); 150 | } 151 | 152 | /* Function Call() 153 | @@ -143,6 +170,10 @@ 154 | */ 155 | bool Call( ArgType aArgs ) 156 | { 157 | + assert( m_callee == NULL ); 158 | + assert( m_caller == NULL ); 159 | + 160 | +#if BOOST_VERSION <= 106000 161 | // fixme: Clean up stack stuff. Add a guard 162 | m_stack = malloc( c_defaultStackSize ); 163 | 164 | @@ -151,22 +182,32 @@ 165 | 166 | // correct the stack size 167 | m_stackSize -= ( (size_t) m_stack + m_stackSize - (size_t) sp ); 168 | - 169 | - assert( m_self == NULL ); 170 | - assert( m_saved == NULL ); 171 | +#endif 172 | 173 | m_args = &aArgs; 174 | -#if BOOST_VERSION >= 105600 175 | - m_self = new boost::context::fcontext_t(); 176 | - *m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub ); 177 | + 178 | +#if BOOST_VERSION < 105600 179 | + m_callee = boost::context::make_fcontext( sp, m_stackSize, callerStub ); 180 | +#elif BOOST_VERSION <= 106000 181 | + m_callee = new context_type( boost::context::make_fcontext( sp, m_stackSize, callerStub ) ); 182 | #else 183 | - m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub ); 184 | + m_callee = new context_type( std::allocator_arg_t(), 185 | + boost::context::protected_fixedsize_stack( c_defaultStackSize ), &COROUTINE::callerStub ); 186 | +#endif 187 | + 188 | +#if BOOST_VERSION <= 106000 189 | + m_caller = new context_type(); 190 | #endif 191 | - m_saved = new boost::context::fcontext_t(); 192 | 193 | m_running = true; 194 | + 195 | // off we go! 196 | - jump( m_saved, m_self, reinterpret_cast( this ) ); 197 | +#if BOOST_VERSION <= 106000 198 | + jump( m_caller, m_callee, reinterpret_cast( this ) ); 199 | +#else 200 | + auto result = (*m_callee)( this ); 201 | + *m_callee = std::move( std::get<0>( result ) ); 202 | +#endif 203 | return m_running; 204 | } 205 | 206 | @@ -179,7 +220,12 @@ 207 | */ 208 | bool Resume() 209 | { 210 | - jump( m_saved, m_self, 0 ); 211 | +#if BOOST_VERSION <= 106000 212 | + jump( m_caller, m_callee, false ); 213 | +#else 214 | + auto result = (*m_callee)( this ); 215 | + *m_callee = std::move( std::get<0>( result ) ); 216 | +#endif 217 | 218 | return m_running; 219 | } 220 | @@ -208,61 +254,66 @@ 221 | static const int c_defaultStackSize = 2000000; // fixme: make configurable 222 | 223 | /* real entry point of the coroutine */ 224 | +#if BOOST_VERSION <= 106000 225 | static void callerStub( intptr_t aData ) 226 | +#else 227 | + static context_type callerStub( context_type caller, COROUTINE* cor ) 228 | +#endif 229 | { 230 | // get pointer to self 231 | +#if BOOST_VERSION <= 106000 232 | COROUTINE* cor = reinterpret_cast*>( aData ); 233 | +#else 234 | + cor->m_caller = &caller; 235 | +#endif 236 | 237 | // call the coroutine method 238 | - cor->m_retVal = cor->m_func( *cor->m_args ); 239 | + cor->m_retVal = cor->m_func( *( cor->m_args ) ); 240 | cor->m_running = false; 241 | 242 | // go back to wherever we came from. 243 | - jump( cor->m_self, cor->m_saved, 0 ); // reinterpret_cast( this )); 244 | +#if BOOST_VERSION <= 106000 245 | + jump( cor->m_callee, cor->m_caller, 0 ); 246 | +#else 247 | + return caller; 248 | +#endif 249 | } 250 | 251 | ///> Wrapper for jump_fcontext to assure compatibility between different boost versions 252 | - static inline intptr_t jump(boost::context::fcontext_t* aOld, boost::context::fcontext_t* aNew, 253 | +#if BOOST_VERSION <= 106000 254 | + static inline intptr_t jump( context_type* aOld, context_type* aNew, 255 | intptr_t aP, bool aPreserveFPU = true ) 256 | { 257 | -#if BOOST_VERSION >= 105600 258 | - return boost::context::jump_fcontext( aOld, *aNew, aP, aPreserveFPU ); 259 | -#else 260 | +#if BOOST_VERSION < 105600 261 | return boost::context::jump_fcontext( aOld, aNew, aP, aPreserveFPU ); 262 | +#else 263 | + return boost::context::jump_fcontext( aOld, *aNew, aP, aPreserveFPU ); 264 | #endif 265 | } 266 | +#endif 267 | 268 | - template 269 | - struct strip_ref 270 | - { 271 | - typedef T result; 272 | - }; 273 | + std::function m_func; 274 | 275 | - template 276 | - struct strip_ref 277 | - { 278 | - typedef T result; 279 | - }; 280 | + bool m_running; 281 | 282 | - DELEGATE m_func; 283 | +#if BOOST_VERSION <= 106000 284 | + ///< coroutine stack 285 | + void* m_stack; 286 | + 287 | + size_t m_stackSize; 288 | +#endif 289 | 290 | ///< pointer to coroutine entry arguments. Stripped of references 291 | ///< to avoid compiler errors. 292 | - typename strip_ref::result* m_args; 293 | + typename std::remove_reference::type* m_args; 294 | + 295 | ReturnType m_retVal; 296 | 297 | ///< saved caller context 298 | - boost::context::fcontext_t* m_saved; 299 | + context_type* m_caller; 300 | 301 | ///< saved coroutine context 302 | - boost::context::fcontext_t* m_self; 303 | - 304 | - ///< coroutine stack 305 | - void* m_stack; 306 | - 307 | - size_t m_stackSize; 308 | - 309 | - bool m_running; 310 | + context_type* m_callee; 311 | }; 312 | 313 | #endif 314 | --- a/include/tool/tool_base.h 315 | +++ b/include/tool/tool_base.h 316 | @@ -31,7 +32,7 @@ 317 | #include 318 | #include 319 | 320 | -#include 321 | +#include 322 | 323 | class EDA_ITEM; 324 | class TOOL_MANAGER; 325 | @@ -53,7 +54,9 @@ 326 | 327 | /// Unique identifier for tools 328 | typedef int TOOL_ID; 329 | -typedef DELEGATE TOOL_STATE_FUNC; 330 | + 331 | +using TOOL_STATE_FUNC = std::function; 332 | + 333 | 334 | /** 335 | * Class TOOL_BASE 336 | --- a/include/tool/tool_interactive.h 337 | +++ b/include/tool/tool_interactive.h 338 | @@ -113,7 +114,7 @@ 339 | void TOOL_INTERACTIVE::Go( int (T::* aStateFunc)( const TOOL_EVENT& ), 340 | const TOOL_EVENT_LIST& aConditions ) 341 | { 342 | - TOOL_STATE_FUNC sptr( static_cast( this ), aStateFunc ); 343 | + TOOL_STATE_FUNC sptr = std::bind( aStateFunc, static_cast( this ), std::placeholders::_1 ); 344 | 345 | goInternal( sptr, aConditions ); 346 | } 347 | 348 | --------------------------------------------------------------------------------