media-libs/libprojectm: 3.1.0 version bump
authorCraig Andrews <candrews@gentoo.org>
Mon, 5 Nov 2018 17:26:03 +0000 (12:26 -0500)
committerCraig Andrews <candrews@gentoo.org>
Mon, 5 Nov 2018 17:35:05 +0000 (12:35 -0500)
Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: Craig Andrews <candrews@gentoo.org>
media-libs/libprojectm/Manifest
media-libs/libprojectm/files/libprojectm-3.1.0-datadir.patch [new file with mode: 0644]
media-libs/libprojectm/libprojectm-3.1.0.ebuild [new file with mode: 0644]
media-libs/libprojectm/metadata.xml

index d602420b683819df06a662b3e44de590a6a842e9..d1c5856b4da1de453cfa6fe6af346c40df9b38dc 100644 (file)
@@ -1 +1,2 @@
+DIST libprojectm-3.1.0.tar.gz 52123464 BLAKE2B 9027adbbbd3458b0ac6c2a822b06d25965ee90f6764095d7f509a578c52127899caf886fd2eea5cec1c3f566580766442faade8f8964fb1cfe2abf8d41ffc547 SHA512 79216b227808d14ca3f897fd33247ead27c48b734475dc507272ba192b8f239683a28cbf89b5c4fb420ed2b90f936c8dfddd545ee000caf2471fb596f867ba66
 DIST projectM-complete-2.1.0-Source.tar.gz 31130351 BLAKE2B ec3540326751aba45b9620adfe1e7aed21347c97278de6d23b53ed7fb03878c2d02982fba17b4cda4f713d2cf624fd24adeb15b28fed9d2ab165567f9ff49eaa SHA512 53f4531208d2594f1c28a7f7842fb5ee3349ca9e48f9f0d999a90b6a62d315c9c0ae9cba1cdfacb8a149eba3e5ddc4517ac406ee2c53718191be8e26ee2cca5f
diff --git a/media-libs/libprojectm/files/libprojectm-3.1.0-datadir.patch b/media-libs/libprojectm/files/libprojectm-3.1.0-datadir.patch
new file mode 100644 (file)
index 0000000..8968f51
--- /dev/null
@@ -0,0 +1,149 @@
+https://github.com/projectM-visualizer/projectm/pull/112
+diff --git a/src/libprojectM/Renderer/Renderer.cpp b/src/libprojectM/Renderer/Renderer.cpp
+index 82ae81a..5da27fc 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 f525c7c..7d2c00e 100644
+--- a/src/libprojectM/Renderer/Renderer.hpp
++++ b/src/libprojectM/Renderer/Renderer.hpp
+@@ -67,7 +67,7 @@ public:
+   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 @@ private:
+   //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 2905838..b87196a 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 b1a7982..10b68e6 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 00377a5..bb71aa0 100755
+--- a/src/libprojectM/projectM.cpp
++++ b/src/libprojectM/projectM.cpp
+@@ -134,7 +134,7 @@ beatDetect ( 0 ), renderer ( 0 ),  _pcm(0), m_presetPos(0), m_flags(flags), _pip
+ 
+ }
+ 
+-projectM::projectM(Settings settings, int flags):
++projectM::projectM(Settings& settings, int flags):
+ beatDetect ( 0 ), renderer ( 0 ),  _pcm(0), m_presetPos(0), m_flags(flags), _pipelineContext(new PipelineContext()), _pipelineContext2(new PipelineContext()),
+   timeKeeper(NULL), _matcher(NULL), _merger(NULL)
+ {
+@@ -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 7339c8f..de7cd1d 100755
+--- a/src/libprojectM/projectM.hpp
++++ b/src/libprojectM/projectM.hpp
+@@ -128,6 +128,7 @@ public:
+         std::string presetURL;
+         std::string titleFontURL;
+         std::string menuFontURL;
++        std::string datadir;
+         int smoothPresetDuration;
+         int presetDuration;
+         float beatSensitivity;
+@@ -153,7 +154,7 @@ public:
+     };
+ 
+   projectM(std::string config_file, int flags = FLAG_NONE);
+-  projectM(Settings settings, int flags = FLAG_NONE);
++  projectM(Settings& settings, int flags = FLAG_NONE);
+ 
+   //DLLEXPORT projectM(int gx, int gy, int fps, int texsize, int width, int height,std::string preset_url,std::string title_fonturl, std::string title_menuurl);
+ 
diff --git a/media-libs/libprojectm/libprojectm-3.1.0.ebuild b/media-libs/libprojectm/libprojectm-3.1.0.ebuild
new file mode 100644 (file)
index 0000000..eae4155
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="A graphical music visualization plugin similar to milkdrop"
+HOMEPAGE="https://github.com/projectM-visualizer/projectm"
+
+if [[ ${PV} == *9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/projectM-visualizer/projectm.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/projectM-visualizer/projectm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+       S=${WORKDIR}/projectm-${PV}/
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="gles2 qt5 sdl"
+
+RDEPEND="gles2? ( media-libs/mesa[gles2] )
+       media-libs/mesa
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+               dev-qt/qtopengl:5
+               media-sound/pulseaudio
+       )
+       sdl? ( >=media-libs/libsdl2-2.0.5 )
+       sys-libs/zlib"
+
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}/${P}-datadir.patch"
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_enable gles2 gles ) \
+               $(use_enable qt5 qt ) \
+               $(use_enable sdl ) \
+               --enable-emscripten=no
+}
index 4b7d1d427e51dc5f6a9cb87819d683f4376481d4..4e2e1928113df966fd28e19143af296448d01ce1 100644 (file)
@@ -1,11 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
+       <maintainer type="person">
+               <email>candrews@gentoo.org</email>
+               <name>Craig Andrews</name>
+       </maintainer>
        <maintainer type="project">
                <email>sound@gentoo.org</email>
                <name>Gentoo Sound project</name>
        </maintainer>
+       <use>
+               <flag name="gles2">Provide support for OpenGL ES 2 and 3</flag>
+       </use>
        <upstream>
-               <remote-id type="sourceforge">projectm</remote-id>
+               <remote-id type="github">projectM-visualizer/projectm</remote-id>
        </upstream>
 </pkgmetadata>