[arch-commits] Commit in projectm/trunk (112.patch PKGBUILD)
Ike Devolder
idevolder at archlinux.org
Sun Feb 24 21:29:34 UTC 2019
Date: Sunday, February 24, 2019 @ 21:29:32
Author: idevolder
Revision: 435550
upgpkg: projectm 3.1.0-4
Added:
projectm/trunk/112.patch
Modified:
projectm/trunk/PKGBUILD
-----------+
112.patch | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 100 +++++++++++++----------------------
2 files changed, 205 insertions(+), 63 deletions(-)
Added: 112.patch
===================================================================
--- 112.patch (rev 0)
+++ 112.patch 2019-02-24 21:29:32 UTC (rev 435550)
@@ -0,0 +1,168 @@
+From fa135a027c260bfbf6a0038540cc825a171b2632 Mon Sep 17 00:00:00 2001
+From: Arne Morten Kvarving <spiff at kodi.tv>
+Date: Thu, 4 Oct 2018 16:33:47 +0200
+Subject: [PATCH 1/2] added: allow specifying datadir in settings on runtime
+
+---
+ src/libprojectM/Renderer/Renderer.cpp | 6 +++---
+ src/libprojectM/Renderer/Renderer.hpp | 3 ++-
+ src/libprojectM/Renderer/TextureManager.cpp | 8 +++++---
+ src/libprojectM/Renderer/TextureManager.hpp | 3 ++-
+ src/libprojectM/projectM.cpp | 6 ++++--
+ src/libprojectM/projectM.hpp | 1 +
+ 6 files changed, 17 insertions(+), 10 deletions(-)
+
+diff --git a/src/libprojectM/Renderer/Renderer.cpp b/src/libprojectM/Renderer/Renderer.cpp
+index 82ae81ac..5da27fcb 100644
+--- a/src/libprojectM/Renderer/Renderer.cpp
++++ b/src/libprojectM/Renderer/Renderer.cpp
+@@ -20,9 +20,9 @@ Pipeline* Renderer::currentPipe;
+ class Preset;
+
+ Renderer::Renderer(int width, int height, int gx, int gy, BeatDetect *_beatDetect, std::string _presetURL,
+- std::string _titlefontURL, std::string _menufontURL) :
++ std::string _titlefontURL, std::string _menufontURL, const std::string& datadir) :
+ title_fontURL(_titlefontURL), menu_fontURL(_menufontURL), presetURL(_presetURL), m_presetName("None"), vw(width),
+- vh(height), mesh(gx, gy)
++ vh(height), mesh(gx, gy), m_datadir(datadir)
+ {
+ this->totalframes = 1;
+ this->noSwitch = false;
+@@ -463,7 +463,7 @@ void Renderer::reset(int w, int h)
+ if (textureManager != NULL) {
+ delete textureManager;
+ }
+- textureManager = new TextureManager(presetURL, texsizeX, texsizeY);
++ textureManager = new TextureManager(presetURL, texsizeX, texsizeY, m_datadir);
+
+ shaderEngine.setParams(texsizeX, texsizeY, beatDetect, textureManager);
+ shaderEngine.reset();
+diff --git a/src/libprojectM/Renderer/Renderer.hpp b/src/libprojectM/Renderer/Renderer.hpp
+index f525c7c4..7d2c00e6 100644
+--- a/src/libprojectM/Renderer/Renderer.hpp
++++ b/src/libprojectM/Renderer/Renderer.hpp
+@@ -67,7 +67,7 @@ class Renderer
+ float m_fInvAspectX;
+ float m_fInvAspectY;
+
+- Renderer(int width, int height, int gx, int gy, BeatDetect *_beatDetect, std::string presetURL, std::string title_fontURL, std::string menu_fontURL);
++ Renderer(int width, int height, int gx, int gy, BeatDetect *_beatDetect, std::string presetURL, std::string title_fontURL, std::string menu_fontURL, const std::string& datadir = "");
+ ~Renderer();
+
+ void RenderFrame(const Pipeline &pipeline, const PipelineContext &pipelineContext);
+@@ -98,6 +98,7 @@ class Renderer
+ //per pixel equation variables
+ ShaderEngine shaderEngine;
+ std::string m_presetName;
++ std::string m_datadir;
+
+ float* p;
+
+diff --git a/src/libprojectM/Renderer/TextureManager.cpp b/src/libprojectM/Renderer/TextureManager.cpp
+index 29058382..b87196a4 100644
+--- a/src/libprojectM/Renderer/TextureManager.cpp
++++ b/src/libprojectM/Renderer/TextureManager.cpp
+@@ -29,7 +29,7 @@
+ #define NUM_BLUR_TEX 6
+
+
+-TextureManager::TextureManager(const std::string _presetsURL, const int texsizeX, const int texsizeY):
++TextureManager::TextureManager(const std::string _presetsURL, const int texsizeX, const int texsizeY, std::string datadir):
+ presetsURL(_presetsURL)
+ {
+ extensions.push_back(".jpg");
+@@ -40,9 +40,11 @@ TextureManager::TextureManager(const std::string _presetsURL, const int texsizeX
+ extensions.push_back(".dib");
+
+ Preload();
++ if (datadir.empty())
++ datadir = DATADIR_PATH;
+
+- loadTextureDir(std::string(DATADIR_PATH) + "/presets");
+- loadTextureDir(std::string(DATADIR_PATH) + "/textures");
++ loadTextureDir(datadir + "/presets");
++ loadTextureDir(datadir + "/textures");
+ loadTextureDir(_presetsURL);
+
+ // Create main texture ans associated samplers
+diff --git a/src/libprojectM/Renderer/TextureManager.hpp b/src/libprojectM/Renderer/TextureManager.hpp
+index b1a79824..10b68e67 100644
+--- a/src/libprojectM/Renderer/TextureManager.hpp
++++ b/src/libprojectM/Renderer/TextureManager.hpp
+@@ -23,7 +23,8 @@ class TextureManager
+ std::vector<std::string> extensions;
+
+ public:
+- TextureManager(std::string _presetsURL, const int texsizeX, const int texsizeY);
++ TextureManager(std::string _presetsURL, const int texsizeX, const int texsizeY,
++ std::string datadir = "");
+ ~TextureManager();
+
+ void Clear();
+diff --git a/src/libprojectM/projectM.cpp b/src/libprojectM/projectM.cpp
+index 00377a50..c9645231 100755
+--- a/src/libprojectM/projectM.cpp
++++ b/src/libprojectM/projectM.cpp
+@@ -267,6 +267,7 @@ void projectM::readSettings (const Settings & settings )
+ _settings.titleFontURL = settings.titleFontURL;
+ _settings.menuFontURL = settings.menuFontURL;
+ _settings.shuffleEnabled = settings.shuffleEnabled;
++ _settings.datadir = settings.datadir;
+
+ _settings.easterEgg = settings.easterEgg;
+
+@@ -512,7 +513,7 @@ static void *thread_callback(void *prjm) {
+ mspf= ( int ) ( 1000.0/ ( float ) _settings.fps );
+ else mspf = 0;
+
+- this->renderer = new Renderer ( width, height, gx, gy, beatDetect, settings().presetURL, settings().titleFontURL, settings().menuFontURL );
++ this->renderer = new Renderer ( width, height, gx, gy, beatDetect, settings().presetURL, settings().titleFontURL, settings().menuFontURL, settings().datadir );
+
+ running = true;
+
+@@ -931,7 +932,8 @@ void projectM::changeTextureSize(int size) {
+ renderer = new Renderer(_settings.windowWidth, _settings.windowHeight,
+ _settings.meshX, _settings.meshY,
+ beatDetect, _settings.presetURL,
+- _settings.titleFontURL, _settings.menuFontURL);
++ _settings.titleFontURL, _settings.menuFontURL,
++ _settings.datadir);
+ }
+
+ void projectM::changePresetDuration(int seconds) {
+diff --git a/src/libprojectM/projectM.hpp b/src/libprojectM/projectM.hpp
+index f9f07835..014c4594 100755
+--- a/src/libprojectM/projectM.hpp
++++ b/src/libprojectM/projectM.hpp
+@@ -128,6 +128,7 @@ class DLLEXPORT projectM
+ std::string presetURL;
+ std::string titleFontURL;
+ std::string menuFontURL;
++ std::string datadir;
+ int smoothPresetDuration;
+ int presetDuration;
+ float beatSensitivity;
+
+From 2301aaabfe377c875821450b1d93cb8abfa1b711 Mon Sep 17 00:00:00 2001
+From: Arne Morten Kvarving <arne.morten.kvarving at sintef.no>
+Date: Mon, 15 Oct 2018 15:24:14 +0200
+Subject: [PATCH 2/2] fixup! added: allow specifying datadir in settings on
+ runtime
+
+---
+ src/libprojectM/Renderer/TextureManager.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/libprojectM/Renderer/TextureManager.cpp b/src/libprojectM/Renderer/TextureManager.cpp
+index b87196a4..146f9318 100644
+--- a/src/libprojectM/Renderer/TextureManager.cpp
++++ b/src/libprojectM/Renderer/TextureManager.cpp
+@@ -40,6 +40,8 @@ TextureManager::TextureManager(const std::string _presetsURL, const int texsizeX
+ extensions.push_back(".dib");
+
+ Preload();
++ // if not data directory specified from user code
++ // we use the built-in default directory (unix prefix based)
+ if (datadir.empty())
+ datadir = DATADIR_PATH;
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-02-24 21:29:22 UTC (rev 435549)
+++ PKGBUILD 2019-02-24 21:29:32 UTC (rev 435550)
@@ -5,84 +5,58 @@
# Contributor: Denis A. Altoe Falqueto <denisfalqueto at gmail.com>
pkgbase=projectm
-pkgname=('projectm' 'projectm-libvisual' 'projectm-pulseaudio' 'projectm-jack' 'projectm-qt' 'projectm-test')
-pkgver=2.1.0
-pkgrel=17
+pkgname=('projectm' 'projectm-sdl' 'projectm-pulseaudio')
+pkgver=3.1.0
+pkgrel=4
arch=('x86_64')
-url='http://projectm.sourceforge.net/'
+url='https://github.com/projectM-visualizer/projectm'
license=('LGPL')
-makedepends=('mesa-libgl' 'qt4' 'cmake' 'ftgl' 'glew' 'gtkglext' 'libvisual' 'sdl' 'libxext' 'pulseaudio' 'jack')
-source=("https://downloads.sourceforge.net/$pkgname/projectM-complete-$pkgver-Source.tar.gz"
- 'projectm-test-opengl.patch'
- 'projectm-install-vera-ttf.patch'
- 'projectm-gcc6.patch')
-sha256sums=('513204f033006bd3dcdf8aada196d816d6b7187266ddcbb1594d0285cc9406ee'
- 'c577d8356be011a3b3ee9f9b389db55f47804d100f690d8ea12f2920cdd432d1'
- '7d67aad0b210edf25a527274504c9efdf3e9d5b737235b938fec361ac5a8b110'
- '5f7cd6baef1c90d2a22772c0352a40645c3554c6d75bde41a2b6ec3ebdaa6128')
+makedepends=('mesa-libgl' 'glm' 'qt5-base' 'ftgl' 'glew' 'sdl2' 'libpulse')
+source=("https://github.com/projectM-visualizer/$pkgbase/releases/download/v$pkgver/projectM-$pkgver.tar.gz"
+ '112.patch')
+sha256sums=('36f67c362d5fa405d73f938c183d8c4a27d1ee6058a68b66c11ace2e89f97da8'
+ '063c22113fb4518eba847b3d293b68e0c0ada45b6c9893bd7de17a3416fb0753')
prepare() {
- cd "projectM-complete-$pkgver-Source"
-
- patch -p1 -i ../projectm-test-opengl.patch
- patch -p1 -i ../projectm-install-vera-ttf.patch
- sed 's/projectM_isnan/std::isnan/g' -i src/libprojectM/Renderer/BeatDetect.cpp
- patch -p1 -i ../projectm-gcc6.patch
+ cd "projectM-$pkgver"
+ patch -p1 -i "$srcdir/112.patch"
}
build() {
- mkdir -p build
- cd build
- cmake \
- -Wno-dev \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release \
- -DINCLUDE-PROJECTM-JACK=ON \
- "../projectM-complete-$pkgver-Source"
- make
+ cd "projectM-$pkgver"
+ ./configure --prefix=/usr --enable-sdl --enable-threading --enable-qt
+ make
}
package_projectm() {
- pkgdesc='Music visualizer which uses 3D accelerated iterative image based rendering'
- depends=('ftgl' 'glew' 'libgl')
- DESTDIR="$pkgdir" make -C "build/src/NativePresets" install
- DESTDIR="$pkgdir" make -C "build/src/libprojectM" install
- DESTDIR="$pkgdir" install -Dm644 "${srcdir}/projectM-complete-$pkgver-Source/COPYING.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
+ pkgdesc='Music visualizer which uses 3D accelerated iterative image based rendering'
+ depends=('libgl' 'glm' 'ftgl' 'glew')
-package_projectm-libvisual() {
- pkgdesc='ProjectM plugin for XMMS'
- depends=('projectm' 'libvisual' 'gcc-libs')
- replaces=('libvisual-projectm')
- provides=('libvisual-projectm')
- DESTDIR="$pkgdir" make -C "build/src/projectM-libvisual" install
- DESTDIR="$pkgdir" install -Dm644 "${srcdir}/projectM-complete-$pkgver-Source/COPYING.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-package_projectm-pulseaudio() {
- pkgdesc='ProjectM support for Pulseaudio'
- depends=('projectm-qt' 'pulseaudio')
- DESTDIR="$pkgdir" make -C "$srcdir/build/src/projectM-pulseaudio" install
- DESTDIR="$pkgdir" install -Dm644 "${srcdir}/projectM-complete-$pkgver-Source/COPYING.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
+ cd "$srcdir/projectM-$pkgver"
+ make DESTDIR="$pkgdir" install-data-am
+ cd "$srcdir/projectM-$pkgver/src"
+ make DESTDIR="$pkgdir" install-am
+ cd "$srcdir/projectM-$pkgver/src/libprojectM"
+ make DESTDIR="$pkgdir" install
+ cd "$srcdir/projectM-$pkgver/src/NativePresets"
+ make DESTDIR="$pkgdir" install
-package_projectm-jack() {
- pkgdesc='ProjectM support for Jack'
- depends=('projectm-qt' 'jack')
- DESTDIR="$pkgdir" make -C "$srcdir/build/src/projectM-jack" install
- DESTDIR="$pkgdir" install -Dm644 "${srcdir}/projectM-complete-$pkgver-Source/COPYING.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ find "$pkgdir" -iname "\.*" -delete
}
-package_projectm-qt() {
- pkgdesc='Qt bindings for ProjectM'
- depends=('projectm' 'qt4' 'libgl')
- DESTDIR="$pkgdir" make -C "$srcdir/build/src/projectM-qt" install
- DESTDIR="$pkgdir" install -Dm644 "${srcdir}/projectM-complete-$pkgver-Source/COPYING.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+package_projectm-sdl() {
+ pkgdesc='Music visualizer which uses 3D accelerated iterative image based rendering (sdl)'
+ depends=('projectm' 'sdl2')
+
+ cd "$srcdir/projectM-$pkgver/src/projectM-sdl"
+ make DESTDIR="$pkgdir" install
}
-package_projectm-test() {
- pkgdesc='ProjectM test applications'
- depends=('projectm' 'sdl' 'libgl')
- DESTDIR="$pkgdir" make -C "$srcdir/build/src/projectM-test" install
- DESTDIR="$pkgdir" install -Dm644 "${srcdir}/projectM-complete-$pkgver-Source/COPYING.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+package_projectm-pulseaudio() {
+ pkgdesc='Music visualizer which uses 3D accelerated iterative image based rendering (pulseaudio)'
+ depends=('projectm' 'qt5-base' 'libpulse')
+
+ cd "$srcdir/projectM-$pkgver/src/projectM-pulseaudio"
+ make DESTDIR="$pkgdir" install
}
More information about the arch-commits
mailing list