From 0bcbb47394f2bc685e89fd803b837968b350d232 Mon Sep 17 00:00:00 2001
From: "B. Watson"
Date: Wed, 17 Aug 2016 16:08:04 -0400
Subject: multimedia/glyr: Updated for version 1.0.9, new maintainer.
---
multimedia/glyr/README.html | 184 ++++++++++++++++++++++++++++++++++++++++
multimedia/glyr/glyr.SlackBuild | 37 +++++---
multimedia/glyr/glyr.info | 10 +--
3 files changed, 216 insertions(+), 15 deletions(-)
create mode 100644 multimedia/glyr/README.html
(limited to 'multimedia/glyr')
diff --git a/multimedia/glyr/README.html b/multimedia/glyr/README.html
new file mode 100644
index 000000000000..5c77d8830e4d
--- /dev/null
+++ b/multimedia/glyr/README.html
@@ -0,0 +1,184 @@
+
+Glyr is a search engine for music related metadata
Glyr is a search engine for music related metadata
+
+
The finest search you can buy for no money TM
+
+
+
+It comes both in a command-line interface tool and as a C library, both with an easy to use interface.
+The sort of metadata glyr is searching (and downloading) is usually the data you see in your musicplayer.
+And indeed, originally it was written to serve as internally library for a musicplayer, but has been extended to
+work as a standalone program which is able to download:
+
+
+
+
Getter
Description
+
+
cover
Coverart (front images supported only)
+
lyrics
Songtext
+
artistphotos
Photos of a certain band (press or live)
+
artistbio
Artist biography from various sites
+
review
album reviews from various sites
+
albumlist
A list of albums from a specific artist.
+
tags
Tags, either related to artist, album or title
+
relations
links to wikipedia, myspace, musicbrainz ...
+
similarartists
similar artists
+
similarsongs
similar songs
+
tracklist
tracklists of an album
+
guitartabs
guitartabs in textual form
+
backdrops
Large artist photos, suitable for backgrounds
+
+
+
+
Terminology:
+To prevent disambiguation the following terms are used below:
+* glyrc is the command-line interface to libglyr.
+* libglyr is the library behind, which may be used by your program.
+* a getter is a type of metadata to download, e.g. cover, sometimes also called fetcher
+* a provider is a source libglyr queries in order to find the data.
+* glyros is the ruby wrapper for this lib. Currently it is not maintained.
+
+
FEATURES
+
+
+
Many built-in providers (46 at time of writing, ~30 distinct sites), high success-rate (the longer the search, the higher the risk :))
+
Portable: Windows and Linux are supported (Developement on Linux) see 1 for Mac OSX,
+
Fuzzy matching: Search providers with Levenshtein algorithm to eliminate typos and enhance search results.
+
Decent Unicode support: All sort of valid UTF8 is taken, and UTf8 output can be forced.
+
Fast Download: libcurl is used internally, and sources are searched in parallel, unneeded data is not downloaded if possible.
+
Lightweight dependencies: libcurl, glib and sqlite (for caching) - typical linux systems have those installed.
+
Download of a user defined amount of items, glyrc cover -a Foo -b Bar -n 30 tries to load 30 covers of album 'Bar' by artist 'Foo'.
+
Grouped download: Query providers by descending Accuray / Speed; controllable by the user over the qsratio
+
Optional download of images, URL is returned otherwise - so it can act a bit like a search-engine.
+
Free Software licensed under the terms of the GPLv3
+
libglyr is portable, easy, threadsafe and lowlevel enough for everyone.
+
...lots of other options like min/max size for images.
+
A built-in cache to store the metadata (using SQLite)
Please refer to glyrc -h which gives you a brief introduction to the arguments you can pass,
+See the wiki for more detailed information about the options.
Well, as normal user you could use glyrc to retrieve some metadata in a batchlike fashion.
+As developers you have lots of option, you could write glyr-plugins for musicplayers (gmpc!), set up a webserver with this,
+hack up little scripts showing covers on the desktop.. everything related to musicmetadat is possible here.
+You could also extend libglyr itself but that's a little harder.
+
+
Isn't there musicbrainz already?
+
+
+
The kind of metadata downloaded by glyr differs heavily from musicbrainz.
+i.e. glyr finds metadata for musicplayers while musicbrainz finds data for CD Rippers and taggers.
+
Musicbrainz runs remotely on some server and uses a large database which is searched through lucene.
+Glyr is a client program which hops over several sites and does not cache anything, unless you do it yourself.
+You could of course let glyr run on a (remote) server, and cache all results to do something similiar.
+
There is coverarchive.org , but it does not seem to fully work yet. But it will be accessible once it does.
+
+
+
AUTHOR
+
+
See the AUTHORS file that comes in glyr's distribution.
+See also COPYING to know about your rights.
+
+
I CAN HAZ HELP?
+
+
BUGS
+
+
If you found one: Meh. Sorry for that.
+If you file a bugreport: Hey, thank you!
+
+
Use the Issue Tracker to share your find.
+Alternatively you may drop me a mail at
+
+
PATCHES
+
+
If you hacked one: Excellent! Send it to me via mail or see below.
+If you want to add new providers you should look at the existing provider plugins to get an idea how to write one.
+Starting with lib/cover/lastfm.c isn't a bad idea either, because it is one of the very simple ones.
+
+
Take the usual Git(Hub) approach:
+# Fork this project
+# Make your changes
+# Make a Pull request
+
+
If you're not familiar with git, or just don't like it,
+you can also send me the patch via mail:
+
+
Thanks for any help in advance!
+
+
WRITE SOFTWARE THAT USES GLYR
+
+
May sound strange, but you're giving me a reason to maintain it, write new providers etc.
+Also bugreports (well, there are no bugs, just in case) are appreciated, or just questions.
+Those help to make the documentation more clear.
+
+
DONATE
+
+
You also might consider a small (CS-Students are already motivated by 1 Cent ) donation if you use feel like it:
+
+(For now only possible via Flattr or Paypal , you gonna need an account there - Sorry)
+
+
DISCLAIMER
+
+
As usual, no warranty is granted that this software works like expected.
+Refer to the GPLv3 copy you got with libglyr. It is here.
+Glyr is just a way to find the data, it does not own any rights on the data it found.
+
+
All retrieved items are copyrighted by their respective copyright owners.
+
+
Refer to the provider's terms of use. Every item you get from libglyr contains the name and a url to the provider, so lookup there terms of use there.
+
+
+
+
+
+
+
[1] Glyr has not been tested on Mac OSX yet. If you own a Mac, any help with 'porting' glyr is highly appreciated. My guess would be that no to almost no changes need to be done though.
\ No newline at end of file
diff --git a/multimedia/glyr/glyr.SlackBuild b/multimedia/glyr/glyr.SlackBuild
index 264711b968e0..a9e51c80657a 100644
--- a/multimedia/glyr/glyr.SlackBuild
+++ b/multimedia/glyr/glyr.SlackBuild
@@ -22,14 +22,24 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Now maintained by B. Watson
+
+# 20160817 bkw:
+# - take over maintenance
+# - update for 1.0.9
+# - i486 => i586
+# - fix SLKCFLAGS use
+# - add missing docs
+# - make install/strip
+
PRGNAM=glyr
-VERSION=${VERSION:-1.0.8}
+VERSION=${VERSION:-1.0.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -40,8 +50,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -76,6 +86,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# upstream places -Os after the flags we provide, which undoes our -O2.
+sed -i "s,-Os,," CMakeLists.txt
+
mkdir -p build
cd build
cmake \
@@ -84,15 +97,19 @@ cd build
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release ..
- make
- make install DESTDIR=$PKG
+ make #VERBOSE=1 # in case you need to see the compile commands
+ make install/strip DESTDIR=$PKG
cd ..
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
+# README.html was generated from upstream's README.textile. include
+# pre-generated html file in build to avoid a dependency on
+# Formatter::HTML::Textile perl module. I could have generated plain
+# text, but the URLs don't show up in it. I didn't build the API
+# docs, but README.html has a link to them on the author's site.
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS CHANGELOG COPYING $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS CHANGELOG COPYING state_of_providers.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/README.html > $PKG/usr/doc/$PRGNAM-$VERSION/README.html
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/multimedia/glyr/glyr.info b/multimedia/glyr/glyr.info
index 57c7b7f157b7..e4d77671927e 100644
--- a/multimedia/glyr/glyr.info
+++ b/multimedia/glyr/glyr.info
@@ -1,10 +1,10 @@
PRGNAM="glyr"
-VERSION="1.0.8"
+VERSION="1.0.9"
HOMEPAGE="https://github.com/sahib/glyr"
-DOWNLOAD="https://github.com/sahib/glyr/archive/1.0.8.tar.gz"
-MD5SUM="05df602572495bf3cb2566d4ff933b9a"
+DOWNLOAD="https://github.com/sahib/glyr/archive/1.0.9.tar.gz"
+MD5SUM="8cc1dd613856b34cb82c49959ebc45c5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Andrew Strong"
-EMAIL="andrew.david.strong@gmail.com"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
--
cgit v1.2.3