Skip to content

Instantly share code, notes, and snippets.

@Alexander-Wilms
Created February 21, 2021 12:01
Show Gist options
  • Save Alexander-Wilms/c048923fe0382381ecf611e5d680a700 to your computer and use it in GitHub Desktop.
Save Alexander-Wilms/c048923fe0382381ecf611e5d680a700 to your computer and use it in GitHub Desktop.
app-id: org.octave.Octave
runtime: org.kde.Sdk
runtime-version: '5.15'
sdk: org.kde.Sdk
command: octave
rename-icon: octave
sdk-extensions:
- org.freedesktop.Sdk.Extension.openjdk11
finish-args:
- --socket=wayland
- --socket=x11
- --share=ipc
- --device=dri
- --socket=pulseaudio
- --share=network
- --filesystem=host
- --talk-name=com.canonical.AppMenu.Registrar # required for global menu
- --talk-name=org.freedesktop.Flatpak # allows spawning processes on the host via flatpak-spawn --host
- --env=PATH=/app/bin:/usr/bin:/app/jre/bin
- --env=CPPFLAGS=-I/app/include # required for building some Octave forge packages
- --env=LDFLAGS=-L/app/lib # required for building some Octave forge packages
- --env=OCTAVE_HOME=/app
cleanup:
- /bin/*lpr*.sh
- /bin/GraphicsMagick*config
- /bin/fltk-config
- /bin/gif2h5
- /bin/glpsol
- /bin/h5*
- /bin/isympy
- /bin/qconvex
- /bin/qdelaunay
- /bin/qhalf
- /bin/qhull
- /bin/qvoronoi
- /bin/rbox
- /com
- /examples
- /include/QSci
- /lib/cmake
- /lib/lib*.a
- /lib/lib*.la
- /lib/lib*.settings
- /lib/libqhull_*
- /lib/octave/*/lib*.la
- /man
- /share/applications/fluid.desktop
- /share/doc
- /share/fltk
- /share/hdf5_examples
- /share/man
- /share/units/locale_map.txt
- fluid
- fluid.*
build-options:
env:
PATH: /app/bin:/usr/bin:/usr/lib/sdk/openjdk11/bin
PYTHON: python3
modules:
- name: openblas
no-autogen: true
make-args:
- DYNAMIC_ARCH=1
- FC=gfortran
- NO_CBLAS=1
- NO_LAPACKE=1
- USE_OPENMP=0 ## OpenMP off by default, this hack skips 'test_fork' which crashes on i386
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: https://github.com/xianyi/OpenBLAS/archive/v0.3.13.tar.gz
sha256: 79197543b17cc314b7e43f7a33148c308b0807cd6381ee77f77e15acf3e6459e
x-checker-data:
type: anitya
project-id: 2540
url-template: https://github.com/xianyi/OpenBLAS/archive/v$version.tar.gz
- shared-modules/glu/glu-9.json
- name: fltk
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DOPTION_BUILD_SHARED_LIBS=ON
- -DFLTK_LIBDIR:PATH=lib
- -DOpenGL_GL_PREFERENCE=GLVND
build-options:
cflags: -fPIC
cxxflags: -fPIC
sources:
- type: archive
url: https://www.fltk.org/pub/fltk/1.3.5/fltk-1.3.5-source.tar.gz
sha256: 8729b2a055f38c1636ba20f749de0853384c1d3e9d1a6b8d4d1305143e115702
x-checker-data:
type: anitya
project-id: 823
url-template: https://www.fltk.org/pub/fltk/$version/fltk-$version-source.tar.gz
- type: patch
path: fltk-ninja-build-error.patch
- name: gnuplot
sources:
- type: archive
url: https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.1/gnuplot-5.4.1.tar.gz
sha256: 6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e
x-checker-data:
type: anitya
project-id: 1216
url-template: https://sourceforge.net/projects/gnuplot/files/gnuplot/$version/gnuplot-$version.tar.gz
- name: ghostscript
config-opts:
- --disable-cups
build-options:
ldflags: -L/app/lib
arch:
aarch64:
cppflags: -DPNG_ARM_NEON_OPT=0
sources:
- type: archive
url: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/ghostscript-9.26.tar.xz
sha256: 90ed475f37584f646e9ef829932b2525d5c6fc2e0147e8d611bc50aa0e718598
# x-checker-data: URL contains version without period
- name: gl2ps
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DOpenGL_GL_PREFERENCE=GLVND
sources:
- type: archive
url: http://geuz.org/gl2ps/src/gl2ps-1.4.2.tgz
sha256: 8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9
x-checker-data:
type: anitya
project-id: 1173
url-template: http://geuz.org/gl2ps/src/gl2ps-$version.tgz
- name: qhull
buildsystem: simple
build-commands:
- cmake -GNinja -B build -S . -DCMAKE_INSTALL_PREFIX=/app
- cmake -GNinja --build build
- cmake --build build
- cmake --build build --target libqhull # deprecated, needed by octave
- cmake --install build
- cp -P build/libqhull.so* /app/lib/
# http://savannah.gnu.org/bugs/?60016
# https://github.com/archlinux/svntogit-packages/blob/packages/qhull/trunk/PKGBUILD
sources:
- type: archive
url: https://github.com/qhull/qhull/archive/v8.0.2.tar.gz
sha256: 8774e9a12c70b0180b95d6b0b563c5aa4bea8d5960c15e18ae3b6d2521d64f8b
x-checker-data:
type: anitya
project-id: 21736
url-template: https://github.com/qhull/qhull/archive/v$version.tar.gz
- name: epstool
skip-arches:
- i386
- arm
- aarch64
no-autogen: true
no-parallel-make: true
make-install-args:
- EPSTOOL_BASE=/app
sources:
- type: archive
# upstream archive has broken permissions, cf. https://launchpad.net/ubuntu/+source/epstool/3.09-1
url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/epstool/3.09-1/epstool_3.09.orig.tar.xz
sha256: 1e85249d1a44f9418b1f95a3aebd8b0784dab8e49deb6417ac9b996ca08f6011
- name: hdf5
no-autogen: true
sources:
- type: archive
url: https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.4/src/hdf5-1.10.4.tar.bz2
sha256: 1267ff06aaedc04ca25f7c6026687ea2884b837043431195f153401d942b28df
# x-checker-data: URL contains a subset of $version
- name: qrupdate
no-autogen: true
make-args:
- solib
- BLAS=-lopenblas
- LAPACK=
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: https://sourceforge.net/projects/qrupdate/files/qrupdate/1.2/qrupdate-1.1.2.tar.gz
sha256: e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08
# x-checker-data: upstream directory structure on Sourceforge doesn't seem to make sense
- type: shell
commands:
- sed -e 's|FFLAGS=-fimplicit-none -O3 -funroll-loops|FFLAGS=-fimplicit-none
-O3 -funroll-loops -L/app/lib|' -i Makeconf
- name: suitesparse
make-args:
- BLAS=-lopenblas
- LAPACK=
- library
make-install-args:
- BLAS=-lopenblas
- LAPACK=
- INSTALL_LIB=/app/lib
- INSTALL_INCLUDE=/app/include
- library
no-autogen: true
sources:
- type: archive
url: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v5.8.1.tar.gz
sha256: 06726e471fbaa55f792578f9b4ab282ea9d008cf39ddcc3b42b73400acddef40
x-checker-data:
type: anitya
project-id: 4908
url-template: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$version.tar.gz
- type: patch
path: suitesparse-reduce-build.patch
- name: glpk
sources:
- type: archive
url: https://ftpmirror.gnu.org/glpk/glpk-5.0.tar.gz
sha256: 4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15
x-checker-data:
type: anitya
project-id: 1183
url-template: https://ftpmirror.gnu.org/glpk/glpk-$version.tar.gz
- name: portaudio
sources:
- type: archive
url: http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz
sha256: f5a21d7dcd6ee84397446fa1fa1a0675bb2e8a4a6dceb4305a8404698d8d1513
x-checker-data:
type: anitya
project-id: 10597
url-template: http://www.portaudio.com/archives/pa_stable_v$version.tgz
- name: graphicsmagick
config-opts:
- --enable-shared
- --with-quantum-depth=16
sources:
- type: archive
url: https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.36/GraphicsMagick-1.3.36.tar.xz
sha256: 5d5b3fde759cdfc307aaf21df9ebd8c752e3f088bb051dd5df8aac7ba7338f46
x-checker-data:
type: anitya
project-id: 1248
url-template: https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/$version/GraphicsMagick-$version.tar.xz
- name: arpack-ng
build-options:
env:
FFLAGS: -fallow-argument-mismatch
FCFLAGS: -fallow-argument-mismatch
sources:
- type: archive
url: https://github.com/opencollab/arpack-ng/archive/3.8.0.tar.gz
sha256: ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d
x-checker-data:
type: anitya
project-id: 111
url-template: https://github.com/opencollab/arpack-ng/archive/$version.tar.gz
- name: fftw3
no-autogen: true
config-opts:
- --enable-shared
- --enable-threads
sources:
- type: archive
url: http://www.fftw.org/fftw-3.3.9.tar.gz
sha256: bf2c7ce40b04ae811af714deb512510cc2c17b9ab9d6ddcf49fe4487eea7af3d
x-checker-data:
type: anitya
project-id: 14534
url-template: http://www.fftw.org/fftw-$version.tar.gz
- name: fftw3f
no-autogen: true
config-opts:
- --enable-shared
- --enable-threads
- --enable-float
sources:
- type: archive
url: http://www.fftw.org/fftw-3.3.9.tar.gz
sha256: bf2c7ce40b04ae811af714deb512510cc2c17b9ab9d6ddcf49fe4487eea7af3d
x-checker-data:
type: anitya
project-id: 14534
url-template: http://www.fftw.org/fftw-$version.tar.gz
- name: qscintilla
buildsystem: simple
sources:
- type: archive
url: https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.6/QScintilla-2.11.6.tar.gz
sha256: e7346057db47d2fb384467fafccfcb13aa0741373c5d593bc72b55b2f0dd20a7
x-checker-data:
type: anitya
project-id: 37195
url-template: https://www.riverbankcomputing.com/static/Downloads/QScintilla/$version/QScintilla-$version.tar.gz
build-commands:
- sed -e 's|\(target.path\) = .*|\1 = /app/lib|' -i Qt4Qt5/qscintilla.pro
- sed -e 's|\(header.path\) = .*|\1 = /app/include|' -i Qt4Qt5/qscintilla.pro
- sed -e 's|\(trans.path\) = .*|\1 = /app/share/qt5/translations|' -i Qt4Qt5/qscintilla.pro
- sed -e 's|\(qsci.path\) = .*|\1 = /app/share/qt5|' -i Qt4Qt5/qscintilla.pro
- sed -e 's|\(features.path\) = .*|\1 = /app/lib/qt5/mkspecs/features|' -i Qt4Qt5/qscintilla.pro
- cd Qt4Qt5 && qmake && make install
- name: sundials
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DENABLE_KLU=ON
- -DKLU_INCLUDE_DIR:PATH=/app/include
- -DKLU_LIBRARY_DIR:PATH=/app/lib
builddir: true
sources:
- type: archive
url: https://github.com/LLNL/sundials/archive/v5.7.0.tar.gz
sha256: c9c96cdeb4ea11f7aad0038fb262caa678bb33304f9f7d03afcf7e8fc5cf0347
x-checker-data:
type: anitya
project-id: 4910
url-template: https://github.com/LLNL/sundials/archive/v$version.tar.gz
- name: openjdk
buildsystem: simple
build-commands:
- /usr/lib/sdk/openjdk11/install.sh
- python_modules.yaml
#- name: mpmath # dependency of sympy
#buildsystem: simple
#sources:
#- type: archive
#url: https://github.com/fredrik-johansson/mpmath/archive/1.2.1.tar.gz
#sha256: 663f43499c9b8866e1ed60345179daa720ba64c556ac94b02ea5d94b6aa0b239
#x-checker-data:
#type: anitya
#project-id: 3930
#url-template: https://github.com/fredrik-johansson/mpmath/archive/$version.tar.gz
#build-commands:
#- pip show setuptools_scm
#- python3 ./setup.py install --prefix=/app
#- name: sympy # dependency of the symbolic package
#buildsystem: simple
#sources:
#- type: archive
#url: https://github.com/sympy/sympy/archive/sympy-1.7.1.tar.gz
#sha256: 088ad11a91be822765d33d09ae6dc82c6a54d033167e3cc328cd84f84115e3a8
#x-checker-data:
#type: anitya
#project-id: 4923
#url-template: https://github.com/sympy/sympy/archive/sympy-$version.tar.gz
#build-commands:
#- python3 ./setup.py install --prefix=/app
- name: texinfo
config-opts:
- --disable-nls
sources:
- type: archive
url: https://ftpmirror.gnu.org/texinfo/texinfo-6.7.tar.xz
sha256: 988403c1542d15ad044600b909997ba3079b10e03224c61188117f3676b02caa
x-checker-data:
type: anitya
project-id: 4958
url-template: https://ftpmirror.gnu.org/texinfo/texinfo-$version.tar.xz
- name: units # dependency of the miscellaneous package
config-opts:
- PYTHON=/usr/bin/python3
sources:
- type: archive
url: https://ftpmirror.gnu.org/units/units-2.21.tar.gz
sha256: 6c3e80a9f980589fd962a5852a2674642257db1c5fd5b27c4d9e664f3486cbaf
x-checker-data:
type: anitya
project-id: 5048
url-template: https://ftpmirror.gnu.org/units/units-$version.tar.gz
- type: patch
path: units-install-info.patch
post-install:
- mv -f /app/com/units/currency.units /app/share/units/currency.units
- name: libsodium # dependency of the zeromq module
sources:
- type: archive
url: https://github.com/jedisct1/libsodium/archive/1.0.18.tar.gz
sha256: d59323c6b712a1519a5daf710b68f5e7fde57040845ffec53850911f10a5d4f4
x-checker-data:
type: anitya
project-id: 1728
url-template: https://github.com/jedisct1/libsodium/archive/$version.tar.gz
- name: zeromq # dependency of the zeromq package
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DWITH_DOC=OFF
- -Wno-dev # disable warnings for project developers
sources:
- type: archive
url: https://github.com/zeromq/libzmq/archive/v4.3.4.tar.gz
sha256: 0ff5a531c9ffaf0dfdc7dc78d13d1383088f454896d252934c429b2554d10559
x-checker-data:
type: anitya
project-id: 16245
url-template: https://github.com/zeromq/libzmq/archive/v$version.tar.gz
- name: octave
config-opts:
- --disable-silent-rules
- --with-blas=openblas
- --with-java-homedir=/app/jre
- --with-java-includedir=/usr/lib/sdk/openjdk11/jvm/openjdk-11/include
# workaround for https://savannah.gnu.org/bugs/?55547
# these are the build flags used in the Freedesktop SDK, without "target_flags_glibcxx_assertions":
# https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/master/include/flags.yml
build-options:
cflags: -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -grecord-gcc-switches
cflags-override: true
cxxflags: -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -grecord-gcc-switches
cxxflags-override: true
#build-commands:
#- make check
cleanup:
- /share/icons/hicolor/1024x1024 # workaround for https://savannah.gnu.org/bugs/?55836
sources:
- type: archive
url: https://ftpmirror.gnu.org/octave/octave-6.2.0.tar.xz
sha256: 7b721324cccb3eaeb4efb455508201ac8ccbd200f77106f52342f9ab7f022d1a
x-checker-data:
type: anitya
project-id: 2528
url-template: https://ftpmirror.gnu.org/octave/octave-$version.tar.xz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment