[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -1,8 +1,8 @@
<services>
<service name="tar_git">
<param name="url">https://github.com/ilpianista/harbour-lyrics.git</param>
- <param name="branch">chum</param>
- <param name="revision">d55cf8350c4e6094ee58bb86694ad72a37e5d5ce</param>
+ <param name="branch">master</param>
+ <param name="revision">a1c8ad94be879961f40e624fd67af0c29e3e24a0</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-lyrics-0.5.8.tar.bz2/translations/harbour-lyrics-zh_Hant.ts
^
|
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="zh_Hant">
-<context>
- <name>MainPage</name>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="77"/>
- <source>Clear</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="71"/>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="193"/>
- <source>Powered by %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="121"/>
- <source>Artist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="90"/>
- <source>Copy to clipboard</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="133"/>
- <source>Song</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/MainPage.qml" line="150"/>
- <source>Search</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Settings</name>
- <message>
- <location filename="../qml/pages/Settings.qml" line="39"/>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/Settings.qml" line="45"/>
- <source>Provider</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/Settings.qml" line="69"/>
- <source>Enable Media Player scanner</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/Settings.qml" line="70"/>
- <source>Checks Media Player to get song info. Do not focus any field to allow text substitution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qml/pages/Settings.qml" line="79"/>
- <source>Clear cache</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/.github/workflows/build.yml
^
|
@@ -4,44 +4,77 @@
push:
branches:
- master
+ - chum
+ - harbour
tags:
- '*'
pull_request:
branches:
- master
+env:
+ RELEASE: 4.4.0.68
+ GENIUS_CLIENT_ID: ${{ secrets.GENIUS_CLIENT_ID }}
+ GENIUS_CLIENT_SECRET: ${{ secrets.GENIUS_CLIENT_SECRET }}
+ GENIUS_CLIENT_ACCESS_TOKEN: ${{ secrets.GENIUS_CLIENT_ACCESS_TOKEN }}
+
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Prepare
run: mkdir output
- name: Build armv7hl
id: build_armv7hl
- uses: coderus/github-sfos-build@master
- with:
- release: 4.4.0.58
+ run: |
+ docker run --rm --privileged \
+ -e GENIUS_CLIENT_ID="${GENIUS_CLIENT_ID}" \
+ -e GENIUS_CLIENT_SECRET="${GENIUS_CLIENT_SECRET}" \
+ -e GENIUS_CLIENT_ACCESS_TOKEN="${GENIUS_CLIENT_ACCESS_TOKEN}" \
+ -v $PWD:/workspace coderus/sailfishos-platform-sdk:$RELEASE /bin/bash -c "
+ mkdir -p build ;
+ cd build ;
+ cp -r /workspace/* . ;
+ mb2 -t SailfishOS-$RELEASE-armv7hl build ;
+ sudo mkdir -p /workspace/RPMS ;
+ sudo cp -r RPMS/*.rpm /workspace/RPMS"
- name: Build i486
id: build_i486
- uses: coderus/github-sfos-build@master
- with:
- release: 4.4.0.58
- arch: i486
+ run: |
+ docker run --rm --privileged \
+ -e GENIUS_CLIENT_ID="${GENIUS_CLIENT_ID}" \
+ -e GENIUS_CLIENT_SECRET="${GENIUS_CLIENT_SECRET}" \
+ -e GENIUS_CLIENT_ACCESS_TOKEN="${GENIUS_CLIENT_ACCESS_TOKEN}" \
+ -v $PWD:/workspace coderus/sailfishos-platform-sdk:$RELEASE /bin/bash -c "
+ mkdir -p build ;
+ cd build ;
+ cp -r /workspace/* . ;
+ mb2 -t SailfishOS-$RELEASE-i486 build ;
+ sudo mkdir -p /workspace/RPMS ;
+ sudo cp -r RPMS/*.rpm /workspace/RPMS"
- - name: Build i486
+ - name: Build aarch64
id: build_aarch64
- uses: coderus/github-sfos-build@master
- with:
- release: 4.4.0.58
- arch: aarch64
+ run: |
+ docker run --rm --privileged \
+ -e GENIUS_CLIENT_ID="${GENIUS_CLIENT_ID}" \
+ -e GENIUS_CLIENT_SECRET="${GENIUS_CLIENT_SECRET}" \
+ -e GENIUS_CLIENT_ACCESS_TOKEN="${GENIUS_CLIENT_ACCESS_TOKEN}" \
+ -v $PWD:/workspace coderus/sailfishos-platform-sdk:$RELEASE /bin/bash -c "
+ mkdir -p build ;
+ cd build ;
+ cp -r /workspace/* . ;
+ mb2 -t SailfishOS-$RELEASE-aarch64 build ;
+ sudo mkdir -p /workspace/RPMS ;
+ sudo cp -r RPMS/*.rpm /workspace/RPMS"
- name: Upload build result
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: rpms
path: RPMS
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/.gitignore
^
|
@@ -2,3 +2,4 @@
*.pro.user
*.pro.user.*
*.autosave
+RPMS
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/Lyrics.pro
^
|
@@ -20,7 +20,6 @@
src/lyric.h \
src/chartlyricsapi.h \
src/geniusapi.h \
- src/geniusapi_secret.h \
src/provider.h \
src/lyricsmaniaapi.h \
src/azlyrics.h
@@ -56,11 +55,23 @@
translations/harbour-lyrics-ru.ts \
translations/harbour-lyrics-sr.ts \
translations/harbour-lyrics-sv.ts \
- translations/harbour-lyrics-tr.ts \
- translations/harbour-lyrics-zh_Hant.ts
+ translations/harbour-lyrics-tr.ts
-# Genius, LyricsMania
+# AZLyrics, Genius, LyricsMania
QT += webkitwidgets
# ChartLyrics
QT += xml
+
+GENIUS_CLIENT_ID=$$(GENIUS_CLIENT_ID)
+!isEmpty(GENIUS_CLIENT_ID) {
+ DEFINES += GENIUS_CLIENT_ID=\\\"$${GENIUS_CLIENT_ID}\\\"
+}
+GENIUS_CLIENT_SECRET=$$(GENIUS_CLIENT_SECRET)
+!isEmpty(GENIUS_CLIENT_SECRET) {
+ DEFINES += GENIUS_CLIENT_SECRET=\\\"$${GENIUS_CLIENT_SECRET}\\\"
+}
+GENIUS_CLIENT_ACCESS_TOKEN=$$(GENIUS_CLIENT_ACCESS_TOKEN)
+!isEmpty(GENIUS_CLIENT_ACCESS_TOKEN) {
+ DEFINES += GENIUS_CLIENT_ACCESS_TOKEN=\\\"$${GENIUS_CLIENT_ACCESS_TOKEN}\\\"
+}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/README.md
^
|
@@ -5,6 +5,7 @@
Currently it supports:
* [AZLyrics](https://www.azlyrics.com)
* [ChartLyrics](http://chartlyrics.com)
+ * [Genius](https://genius.com)
* [LyricsMania](https://www.lyricsmania.com)
## Translations
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/qml/pages/MainPage.qml
^
|
@@ -177,7 +177,7 @@
}
function mpris() {
- if (manager.getMediaPlayerScanner()) {
+ if (manager.getMediaPlayerScanner() && mprisController.currentService) {
console.log("Fetched song informations from " + mprisController.currentService);
if (!userTyping && mprisController.metaData) {
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/qml/pages/Settings.qml
^
|
@@ -54,6 +54,10 @@
}
MenuItem {
+ text: "Genius"
+ }
+
+ MenuItem {
text: "LyricsMania"
}
}
|
[-]
[+]
|
Added |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/src/geniusapi.cpp
^
|
@@ -0,0 +1,184 @@
+/*
+ The MIT License (MIT)
+
+ Copyright (c) 2015-2021 Andrea Scarpino <andrea@scarpino.dev>
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+*/
+
+#include "geniusapi.h"
+
+#include <QDebug>
+#include <QJsonArray>
+#include <QJsonDocument>
+#include <QJsonObject>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
+#include <QUrl>
+#include <QUrlQuery>
+#include <QWebElement>
+#include <QWebFrame>
+#include <QWebPage>
+
+#include "lyric.h"
+
+const static QString API_URL = QStringLiteral("https://api.genius.com");
+
+GeniusAPI::GeniusAPI(QObject *parent) :
+ Provider(parent)
+ , network(new QNetworkAccessManager(this))
+{
+}
+
+GeniusAPI::~GeniusAPI()
+{
+ qDeleteAll(lyrics.keyBegin(), lyrics.keyEnd());
+ qDeleteAll(lyrics);
+ delete network;
+}
+
+void GeniusAPI::getLyric(const QString &artist, const QString &song)
+{
+ qDebug() << "Requesting lyric for artist" << artist << ", song" << song;
+
+ QUrl url(API_URL + "/search");
+
+ QUrlQuery query;
+ query.addQueryItem(QStringLiteral("q"), artist + QChar::Space + song);
+ url.setQuery(query);
+
+ QNetworkRequest req(url);
+
+#if defined(GENIUS_CLIENT_ID)
+ req.setRawHeader(QByteArray("client_id"), QByteArray(GENIUS_CLIENT_ID));
+#else
+ qCritical() << "No client id set, the request will be rejected!";
+#endif
+
+#if defined(GENIUS_CLIENT_SECRET)
+ req.setRawHeader(QByteArray("client_secret"), QByteArray(GENIUS_CLIENT_SECRET));
+#else
+ qCritical() << "No client secret set, the request will be rejected!";
+#endif
+
+#if defined(GENIUS_CLIENT_ACCESS_TOKEN)
+ req.setRawHeader(QByteArray("Authorization"), QStringLiteral("Bearer %1").arg(GENIUS_CLIENT_ACCESS_TOKEN).toLatin1());
+#else
+ qCritical() << "No client access token set, the request will be rejected!";
+#endif
+
+ QNetworkReply* reply = network->get(req);
+
+ connect(reply, &QNetworkReply::finished, this, &GeniusAPI::onGetLyricResult);
+}
+
+void GeniusAPI::onGetLyricResult()
+{
+ QNetworkReply* reply = qobject_cast<QNetworkReply*>(QObject::sender());
+
+ bool err = true;
+
+ if (reply->error() != QNetworkReply::NoError) {
+ qCritical() << "Cannot fetch lyric:" << reply->errorString();
+ } else {
+ QJsonDocument json = QJsonDocument::fromJson(reply->readAll());
+
+ if (!json.isNull()) {
+ QJsonValue response = json.object().value("response");
+
+ if (!response.isNull()) {
+ QJsonArray hits = response.toObject().value("hits").toArray();
+
+ if (!hits.isEmpty()) {
+ // 'We'are lucky' like search
+ QJsonObject result = hits.at(0).toObject().value("result").toObject();
+
+ Lyric* lyric = new Lyric();
+ lyric->setArtist(result.value("primary_artist").toObject().value("name").toString());
+ lyric->setSong(result.value("title").toString());
+
+ const QUrl url(result.value("url").toString());
+ getLyricText(url, lyric);
+
+ err = false;
+ } else {
+ qDebug() << "No results";
+ }
+ } else {
+ qDebug() << "No results";
+ }
+ } else {
+ qCritical() << "Got an invalid JSON!";
+ }
+ }
+
+ if (err) {
+ Q_EMIT lyricFetched(0, !err);
+ }
+
+ reply->deleteLater();
+}
+
+void GeniusAPI::onGetLyricPageResult()
+{
+ QNetworkReply* reply = qobject_cast<QNetworkReply*>(QObject::sender());
+
+ bool found = false;
+ Lyric* lyric = 0;
+
+ if (reply->error() != QNetworkReply::NoError) {
+ qCritical() << "Cannot fetch lyric";
+ } else {
+ QWebPage page;
+ page.settings()->setAttribute(QWebSettings::AutoLoadImages, false);
+ page.settings()->setAttribute(QWebSettings::JavascriptEnabled, false);
+ page.mainFrame()->setHtml(reply->readAll());
+
+ QWebElement lyricbox = page.mainFrame()->findFirstElement("div[id=lyrics-root] div[data-lyrics-container=true]");
+
+ if (lyricbox.isNull()) {
+ qCritical() << "Cannot find lyric box in HTML page";
+ } else {
+ lyric = lyrics.take(reply);
+
+ if (!lyric) {
+ qCritical() << "Got an invalid lyric object!";
+ } else {
+ lyric->setText(lyricbox.toPlainText());
+
+ found = true;
+ }
+ }
+ }
+
+ qDebug() << "Lyric found:" << found;
+ Q_EMIT lyricFetched(lyric, found);
+
+ reply->deleteLater();
+}
+
+void GeniusAPI::getLyricText(const QUrl &url, Lyric *lyric)
+{
+ qDebug() << "Requesting lyric page" << url.url();
+ QNetworkRequest req(url);
+ QNetworkReply* reply = network->get(req);
+ lyrics.insert(reply, lyric);
+
+ connect(reply, &QNetworkReply::finished, this, &GeniusAPI::onGetLyricPageResult);
+}
|
[-]
[+]
|
Added |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/src/geniusapi.h
^
|
@@ -0,0 +1,56 @@
+/*
+ The MIT License (MIT)
+
+ Copyright (c) 2015-2021 Andrea Scarpino <andrea@scarpino.dev>
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+*/
+
+#ifndef GENIUSAPI_H
+#define GENIUSAPI_H
+
+#include <QMap>
+#include <QString>
+
+#include "provider.h"
+
+class QNetworkAccessManager;
+class QNetworkReply;
+class QUrl;
+
+class GeniusAPI : public Provider
+{
+ Q_OBJECT
+ Q_INTERFACES(Provider)
+public:
+ explicit GeniusAPI(QObject *parent = 0);
+ virtual ~GeniusAPI();
+
+ void getLyric(const QString &artist, const QString &song);
+
+private:
+ void onGetLyricResult();
+ void onGetLyricPageResult();
+ void getLyricText(const QUrl &url, Lyric *lyric);
+
+ QNetworkAccessManager *network;
+ QMap<QNetworkReply*, Lyric*> lyrics;
+};
+
+#endif // GENIUSAPI_H
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/src/lyricsmanager.cpp
^
|
@@ -40,7 +40,10 @@
QObject(parent)
, api(0)
{
- settings = new QSettings(QCoreApplication::applicationName(), QCoreApplication::applicationName(), this);
+ const QString settingsPath =
+ QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation)
+ + "/" + QCoreApplication::applicationName() + ".conf";
+ settings = new QSettings(settingsPath, QSettings::NativeFormat);
setProvider(settings->value("Provider").toString());
setMediaPlayerScanner(settings->value("MediaPlayerScanner", true).toBool());
@@ -67,6 +70,8 @@
provider = "AZLyrics";
} else if (className.compare(QStringLiteral("ChartLyricsAPI")) == 0) {
provider = "ChartLyrics";
+ } else if (className.compare(QStringLiteral("GeniusAPI")) == 0) {
+ provider = "Genius";
} else {
provider = "LyricsMania";
}
@@ -88,6 +93,11 @@
} else if (provider.compare(QStringLiteral("ChartLyrics")) == 0) {
api = new ChartLyricsAPI;
p = QStringLiteral("ChartLyrics");
+#if defined(GENIUS_CLIENT_ID) && defined(GENIUS_CLIENT_SECRET) && defined(GENIUS_CLIENT_ACCESS_TOKEN)
+ } else if (provider.compare(QStringLiteral("Genius")) == 0) {
+ api = new GeniusAPI;
+ p = QStringLiteral("Genius");
+#endif
} else {
api = new LyricsManiaAPI;
p = QStringLiteral("LyricsMania");
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/src/main.cpp
^
|
@@ -41,7 +41,7 @@
app->installTranslator(&translator);
QCoreApplication::setApplicationName(QStringLiteral("harbour-lyrics"));
- QCoreApplication::setOrganizationDomain(QStringLiteral("andreascarpino.it"));
+ QCoreApplication::setOrganizationName(QStringLiteral("andreascarpino.it"));
LyricsManager manager;
view->rootContext()->setContextProperty("manager", &manager);
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics-0.6.2.tar.bz2/translations/harbour-lyrics-ca.ts
^
|
@@ -54,12 +54,12 @@
<message>
<location filename="../qml/pages/Settings.qml" line="69"/>
<source>Enable Media Player scanner</source>
- <translation type="unfinished"></translation>
+ <translation>Habilitar escaneig de Multimèdia</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="70"/>
<source>Checks Media Player to get song info. Do not focus any field to allow text substitution.</source>
- <translation type="unfinished"></translation>
+ <translation>Comprova el reproductor multimèdia per a obtenir informació de les cançons. No enfoqueu cap camp per a permetre la substitució de text.</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="79"/>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-lyrics.yaml
^
|
@@ -1,6 +1,6 @@
Name: harbour-lyrics
Summary: Music lyrics application
-Version: 0.5.8
+Version: 0.6.2
Release: 1
# The contents of the Group field should be one of the groups listed here:
# http://gitorious.org/meego-developer-tools/spectacle/blobs/master/data/GROUPS
@@ -13,7 +13,7 @@
- '%{name}-%{version}.tar.bz2'
Description: |
Music lyrics application.
- It does support: AZLyrics, ChartLyrics and LyricsMania.
+ It does support: AZLyrics, ChartLyrics, LyricsMania, Genius.
%if "%{?vendor}" == "chum"
PackageName: Lyrics
@@ -23,14 +23,14 @@
- Audio
Custom:
Repo: https://github.com/ilpianista/harbour-Lyrics
- Icon: https://github.com/ilpianista/harbour-Lyrics/-/raw/master/icons/harbour-lyrics.svg
+ Icon: https://raw.githubusercontent.com/ilpianista/harbour-Lyrics/master/icons/harbour-lyrics.svg
Screenshots:
- - https://github.com/ilpianista/harbour-Lyrics/-/raw/master/screenshots/screenshot_1.png
- - https://github.com/ilpianista/harbour-Lyrics/-/raw/master/screenshots/screenshot_2.png
+ - https://raw.githubusercontent.com/ilpianista/harbour-Lyrics/master/screenshots/screenshot_1.png
+ - https://raw.githubusercontent.com/ilpianista/harbour-Lyrics/master/screenshots/screenshot_2.png
Url:
Homepage: https://github.com/ilpianista/harbour-Lyrics
- Bugtracker: https://github.com/ilpianista/harbour-Lyrics/-/issues
- Donation: https://paypal.me/andreascarpino
+ Bugtracker: https://github.com/ilpianista/harbour-Lyrics/issues
+ Donation: https://liberapay.com/ilpianista/donate
%endif
Configure: none
# The qtc5 builder inserts macros to allow QtCreator to have fine
@@ -44,7 +44,7 @@
- Qt5Core
- Qt5Qml
- Qt5Quick
- - Qt5WebKitWidgets # LyricsWiki, Genius
+ - Qt5WebKitWidgets # AZLyrics, LyricsWiki, Genius
- Qt5Xml # ChartLyrics
# Build dependencies without a pkgconfig setup can be listed here
@@ -58,7 +58,7 @@
# All installed files
Files:
- - '%{_bindir}'
+ - '%{_bindir}/%{name}'
- '%{_datadir}/%{name}'
- '%{_datadir}/applications/%{name}.desktop'
- '%{_datadir}/icons/hicolor/*/apps/%{name}.png'
|