diff options
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/Manifest.gz | bin | 9885 -> 9885 bytes | |||
-rw-r--r-- | games-strategy/hedgewars/Manifest | 6 | ||||
-rw-r--r-- | games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-1.patch | 81 | ||||
-rw-r--r-- | games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-2.patch | 441 | ||||
-rw-r--r-- | games-strategy/hedgewars/files/hedgewars-0.9.23-settings-saving.patch | 134 | ||||
-rw-r--r-- | games-strategy/hedgewars/hedgewars-0.9.23-r3.ebuild | 91 | ||||
-rw-r--r-- | games-strategy/wesnoth/Manifest | 5 | ||||
-rw-r--r-- | games-strategy/wesnoth/files/wesnothd.rc-r1 | 23 | ||||
-rw-r--r-- | games-strategy/wesnoth/wesnoth-1.14.1.ebuild (renamed from games-strategy/wesnoth/wesnoth-1.14.1-r1.ebuild) | 4 | ||||
-rw-r--r-- | games-strategy/wesnoth/wesnoth-1.14.2.ebuild | 114 |
10 files changed, 756 insertions, 143 deletions
diff --git a/games-strategy/Manifest.gz b/games-strategy/Manifest.gz Binary files differindex 9d7b2ed1b1c9..d2128d7211a0 100644 --- a/games-strategy/Manifest.gz +++ b/games-strategy/Manifest.gz diff --git a/games-strategy/hedgewars/Manifest b/games-strategy/hedgewars/Manifest index fa8bc20c4461..6ff599b8ac4e 100644 --- a/games-strategy/hedgewars/Manifest +++ b/games-strategy/hedgewars/Manifest @@ -1,5 +1,11 @@ AUX hedgewars-0.9.22-rpath-fix.patch 677 BLAKE2B 361eac896d7c7e9b6b3fa5daf4c24214e868b2098db96445b612f5ac0a9ce3f09ec88ec7feaaa62e75be5e2f61e62e6ecae68417519b907f54e6eac051d320c4 SHA512 d4511d1d3d6da4d30e33cc12b7c12feb6cf25d1fcdaab4b09a7c4f7a2a5282826190a152e6c1609d2afab71ac001557d2a757c232382f5cd471753f8a4cee8ee +AUX hedgewars-0.9.23-qt5-1.patch 2138 BLAKE2B f78b271762d3c171ece0a73ef560db03e2a4b390654a354bc28fef9344104598ae7717bbee55b6d2e21ca1597eed9f018c024fc3eec16d7d0a8c4da6bda9e4bb SHA512 f84cc2d0784cb56bebcbe5e25401c7f2c9e1f7704a11b5c14bf1c13bc016c523154a987ce1dfe69ad39f1596bf17d463d7b299301ee696f5a2fc640959b12542 +AUX hedgewars-0.9.23-qt5-2.patch 16874 BLAKE2B 1491cb7fd579afdd3e58a478c5b7dc3bfe0bc3d29e4698ee8d3518289a6d102743b55e9af516c8f393a244a094a5cbf916403c7209daf0a1878e566028b5817d SHA512 1bad068d33e1f5f174ef901085fdc5e7920c36a196d59ab8097062a48ac78990a921bc39125725f50228df109dab91a9b04b5b009a3aec709072310cfebe6b48 +AUX hedgewars-0.9.23-settings-saving.patch 5295 BLAKE2B 06f55d7f13847a311aa6c15142023940fec61c88ed304354211027887536cfabac5d4f2e4c00d96995b0809bb9d109f5a0542c9547dbd9ae37e7e4212c1e401d SHA512 e1a53bd18f3159bac05f917fb97c32b66e3ff5a3e1d7407a540078026e9a5e7deb6d28649f288d1306af4e72ee606c57d92b5b2182c06ec33dd32ed420534ebd +DIST hedgewars-src-0.9.23.tar.bz2 173042171 BLAKE2B 8458cce459e59227a92f70a1a1593ce0e222030f519e554bea067890394322e8346d062a8552472280401272691d5ebb4c2e85d9e8824b3513d70d24cca4b880 SHA512 b9bcd6d32c7bb97c2766aacbc759dd48b7a4c7a72003ab2bf31cdfac94a6e08de740a689458c276d3c35b90e89a1af6c200f98f463e9554e8b176b5706dc3090 DIST hedgewars-src-0.9.24.1.tar.bz2 175069915 BLAKE2B 5c49b91b9a77a110a7bc8667f9621c92d638950071c8db7493b7797c2e504a214052fad6ae8554d844146eecabd794529891aebf4e54ee73f8a447ab11c6c7da SHA512 b0b166c807e0d08a763e5e88e178d6e629baa420685bbfe381db7b5ecf003175892f8c2e3b75f1f6d7663335bd5b417d1a2afdc89b9d56b348b056ee3490ed2f +DIST hedgewars_0.9.22-dfsg-7.debian.tar.xz 79016 BLAKE2B dda854b87db808520e3b6405e6eb28db085d23b78e4cdcce25a94992bc2551e2436401766cc39bf52fb7c5ad0e946a9792cc333813454fdfd615d2569e3fb16a SHA512 011d44989b6fcad9ae7a20fcb11a4e2b9a75d1ace6c6e4c2139cd7e67f13ea21d90b6c8a7afb76fa9a06c32537b00b8b4b7689967b3019300e93a7a6fe3e0fbf DIST hedgewars_0.9.23-dfsg-2.debian.tar.xz 77488 BLAKE2B 5de6fa2ad91f1346f679d07b3b445bd119d2cdd3c715ace20fc36abe726330ccf9a9b69ec56c58cfca4cc6256ff248b0cc0b0e27caf2a79df0f1662ea7727e8e SHA512 03680446930279178ddff85a87fc27b7c26ad6d850c8f26571517ebbd6dff296db216da6b56d4bd55c659786bc5c76e2b67a63052ee38e150655e60c08f7c491 +EBUILD hedgewars-0.9.23-r3.ebuild 2458 BLAKE2B 065513e73b353aca198529b3fceafa0bdd59deb376b731a64d18f84b413f9e3b3cfb3ccfca77daaa200fd8833ea6e418786163e82db0cd354c83b4d36da8b5cc SHA512 c3f92346a844a736f081479304cd27a4a626c29d44ebd1cce39c3c45c493ef2f5b9cf5ec0911b1786a60c8bcc501249e2847ba88ab4349791594145051f9012e EBUILD hedgewars-0.9.24.1.ebuild 2693 BLAKE2B ea23fac741436c809f3642818833f23ccefe362b14b4576b0f26dc156e85e2e56b1d94d87002475c7788e645f9d676a343f0abb9f741c98313fb81ba10fc4dae SHA512 710ef2dec6586ae25603552cc5a02213bcb8ff4aa5a0b3037608c9ddb39f83d6e68c90097063757e8cc69bb9fa853f7fa88fae33fad394cdee57aa08c45f7d09 MISC metadata.xml 310 BLAKE2B 0893b58ddb3ed4a4d6a73bd5cc4d31558d185953ea37fd15f9e067804b8fd4aad9021666f35feabe695fc34df502f1c1c814e52b717fdb26a5f419c07e5696a0 SHA512 aab3f53bd107c152983576ef65b7021002724f73e0a8cbda391284347eff3eb8d8489cb26fae34512e3a58bc9529903c05f41c1277e25af155215308b3da462b diff --git a/games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-1.patch b/games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-1.patch new file mode 100644 index 000000000000..fdd15108b5d2 --- /dev/null +++ b/games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-1.patch @@ -0,0 +1,81 @@ +# User unc0rr +# Node ID 8869b5256720f0378bf9d5edc68ecb7e1f376039 +Configure for Qt5 + +--- a/QTfrontend/CMakeLists.txt Mon Jan 15 12:15:56 2018 -0500 ++++ b/QTfrontend/CMakeLists.txt Wed Jan 24 21:05:34 2018 +0100 +@@ -1,24 +1,6 @@ +-# Configure for Qt4 +-set(QT_MIN_VERSION "4.7.0") +-include(CheckLibraryExists) ++find_package(Qt5 COMPONENTS Core Gui Network Widgets) + +-set(QT_USE_QTCORE TRUE) +-set(QT_USE_QTGUI TRUE) +-set(QT_USE_QTNETWORK TRUE) +-set(QT_USE_QTSVG FALSE) +-set(QT_USE_QTXML FALSE) +-set(QT_USE_QTOPENGL FALSE) +-set(QT_USE_QTMAIN TRUE) +- +-find_package(Qt4 REQUIRED) +-include(${QT_USE_FILE}) +- +-# https://bugreports.qt-project.org/browse/QTBUG-17333 +-if(APPLE AND +- ${QTVERSION} VERSION_GREATER "4.7.0" AND +- ${QTVERSION} VERSION_LESS "4.7.4") +- message(FATAL_ERROR "This version of Qt is known *not* to work, please update or use a lower version") +-endif() ++include(CheckLibraryExists) + + find_package(SDL2 REQUIRED) + find_package(SDL2_mixer 2 REQUIRED) #audio in SDLInteraction +@@ -159,9 +141,9 @@ + endif() + endif() + +-qt4_add_resources(hwfr_rez_src ${hwfr_rez}) ++qt5_add_resources(hwfr_rez_src ${hwfr_rez}) + +-qt4_wrap_cpp(hwfr_moc_srcs ${hwfr_moc_hdrs}) ++qt5_wrap_cpp(hwfr_moc_srcs ${hwfr_moc_hdrs}) + + + if(APPLE) +@@ -198,14 +180,14 @@ + + list(APPEND HW_LINK_LIBS + physfs physlayer +- ${QT_LIBRARIES} ++ Qt5::Core Qt5::Gui Qt5::Network Qt5::Widgets + ) + + list(APPEND HW_LINK_LIBS + ${SDL2_LIBRARY} + ${SDL2_MIXER_LIBRARIES} + ) +- ++ + if(WIN32 AND NOT UNIX) + if(NOT SDL2_LIBRARY) + list(APPEND HW_LINK_LIBS SDL2) +--- a/share/hedgewars/Data/Locale/CMakeLists.txt Mon Jan 15 12:15:56 2018 -0500 ++++ b/share/hedgewars/Data/Locale/CMakeLists.txt Wed Jan 24 21:05:34 2018 +0100 +@@ -1,5 +1,4 @@ +-find_package(Qt4 REQUIRED) +-include(${QT_USE_FILE}) ++find_package(Qt5 COMPONENTS LinguistTools) + + file(GLOB txttrans2 ??.txt) + file(GLOB txttrans5 ?????.txt) +@@ -9,7 +8,7 @@ + file(GLOB campaignfiles campaigns_*.txt) + file(GLOB tipfiles tips_*.xml) + +-QT4_ADD_TRANSLATION(QM ${tsfiles}) ++QT5_ADD_TRANSLATION(QM ${tsfiles}) + + add_custom_target (release-translation ALL + DEPENDS ${QM} + diff --git a/games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-2.patch b/games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-2.patch new file mode 100644 index 000000000000..f174cc156339 --- /dev/null +++ b/games-strategy/hedgewars/files/hedgewars-0.9.23-qt5-2.patch @@ -0,0 +1,441 @@ +# User unc0rr +# Node ID fc47fc4af6bd6f399035923453cd85c8f50146f7 +Finish porting. Seems to work, but no thorough testing has been performed + +--- a/QTfrontend/CMakeLists.txt Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/CMakeLists.txt Wed Jan 24 22:20:10 2018 +0100 +@@ -1,5 +1,7 @@ + find_package(Qt5 COMPONENTS Core Gui Network Widgets) + ++include_directories(${Qt5Core_PRIVATE_INCLUDE_DIRS}) ++ + include(CheckLibraryExists) + + find_package(SDL2 REQUIRED) +--- a/QTfrontend/main.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/main.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -20,7 +20,6 @@ + + #include <QTranslator> + #include <QLocale> +-#include <QPlastiqueStyle> + #include <QRegExp> + #include <QMap> + #include <QSettings> +@@ -252,7 +251,7 @@ + splash.show(); + #endif + +- app.setStyle(new QPlastiqueStyle()); ++ //app.setStyle(new QPlastiqueStyle()); + + QDateTime now = QDateTime::currentDateTime(); + srand(now.toTime_t()); +@@ -332,7 +331,7 @@ + + // Fallback to current input locale if "C" locale is returned + if(cc == "C") +- cc = HWApplication::keyboardInputLocale().name(); ++ cc = HWApplication::inputMethod()->locale().name(); + } + + // Load locale files into translators +--- a/QTfrontend/model/ammoSchemeModel.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/model/ammoSchemeModel.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -569,7 +569,7 @@ + << QVariant() // scriptparam 43 + ; + +- QList<QVariant> construction; ++ QList<QVariant> construction; + construction + << predefSchemesNames[10] // name 0 + << QVariant(false) // fortsmode 1 +@@ -617,7 +617,7 @@ + << QVariant() // scriptparam 43 + ; + +- QList<QVariant> hedgeeditor; ++ QList<QVariant> hedgeeditor; + hedgeeditor + << predefSchemesNames[11] // name 0 + << QVariant(false) // fortsmode 1 +@@ -896,10 +896,12 @@ + return; + } + ++ beginResetModel(); ++ + cfg[cfg.size()-1] = cfg[cfg.size()-1].mid(1); + + for(int i = 0; i < cfg.size(); ++i) + netScheme[i] = QVariant(cfg[i]); + +- reset(); ++ endResetModel(); + } +--- a/QTfrontend/model/playerslistmodel.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/model/playerslistmodel.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -309,10 +309,10 @@ + } + + if(index.data(Ignore).toBool()) +- setData(index, Qt::gray, Qt::ForegroundRole); ++ setData(index, QColor(Qt::gray), Qt::ForegroundRole); + else + if(index.data(Friend).toBool()) +- setData(index, Qt::green, Qt::ForegroundRole); ++ setData(index, QColor(Qt::green), Qt::ForegroundRole); + else + setData(index, QBrush(QColor(0xff, 0xcc, 0x00)), Qt::ForegroundRole); + } +--- a/QTfrontend/net/hwmap.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/net/hwmap.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -79,7 +79,7 @@ + { + quint8 *buf = (quint8*) readbuffer.constData(); + QImage im(buf, 256, 128, QImage::Format_Mono); +- im.setNumColors(2); ++ im.setColorCount(2); + + QPixmap px(QSize(256, 128)); + QPixmap pxres(px.size()); +--- a/QTfrontend/net/netudpwidget.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/net/netudpwidget.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -33,15 +33,19 @@ + + void HWNetUdpModel::updateList() + { +- games.clear(); ++ beginResetModel(); ++ ++ games.clear(); + +- reset(); ++ endResetModel(); + +- pUdpSocket->writeDatagram("hedgewars client", QHostAddress::Broadcast, NETGAME_DEFAULT_PORT); ++ pUdpSocket->writeDatagram("hedgewars client", QHostAddress::Broadcast, NETGAME_DEFAULT_PORT); + } + + void HWNetUdpModel::onClientRead() + { ++ beginResetModel(); ++ + while (pUdpSocket->hasPendingDatagrams()) + { + QByteArray datagram; +@@ -60,7 +64,7 @@ + } + } + +- reset(); ++ endResetModel(); + } + + QVariant HWNetUdpModel::data(const QModelIndex &index, +--- a/QTfrontend/net/newnetclient.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/net/newnetclient.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -242,7 +242,7 @@ + void HWNewNet::SendPasswordHash(const QString & hash) + { + // don't send it immediately, only store and check if server asked us for a password +- m_passwordHash = hash.toAscii(); ++ m_passwordHash = hash.toLatin1(); + + maybeSendPassword(); + } +@@ -271,7 +271,7 @@ + if (lst[0] == "ERROR") + { + if (lst.size() == 2) +- emit Error(HWApplication::translate("server", lst[1].toAscii().constData())); ++ emit Error(HWApplication::translate("server", lst[1].toLatin1().constData())); + else + emit Error("Unknown error"); + return; +@@ -280,7 +280,7 @@ + if (lst[0] == "WARNING") + { + if (lst.size() == 2) +- emit Warning(HWApplication::translate("server", lst[1].toAscii().constData())); ++ emit Warning(HWApplication::translate("server", lst[1].toLatin1().constData())); + else + emit Warning("Unknown warning"); + return; +@@ -447,7 +447,7 @@ + while(flags.size() > 1) + { + flags.remove(0, 1); +- char c = flags[0].toAscii(); ++ char c = flags[0].toLatin1(); + bool inRoom = (netClientState == InRoom || netClientState == InGame); + + switch(c) +@@ -673,7 +673,7 @@ + } + m_game_connected = false; + Disconnect(); +- emit disconnected(HWApplication::translate("server", lst[1].toAscii().constData())); ++ emit disconnected(HWApplication::translate("server", lst[1].toLatin1().constData())); + return; + } + +@@ -727,7 +727,7 @@ + } + for(int i = 1; i < lst.size(); ++i) + { +- QByteArray em = QByteArray::fromBase64(lst[i].toAscii()); ++ QByteArray em = QByteArray::fromBase64(lst[i].toLatin1()); + emit FromNet(em); + } + return; +@@ -1155,18 +1155,18 @@ + return; + + QString hash = QCryptographicHash::hash( +- m_clientSalt.toAscii() +- .append(m_serverSalt.toAscii()) ++ m_clientSalt.toLatin1() ++ .append(m_serverSalt.toLatin1()) + .append(m_passwordHash) +- .append(cProtoVer->toAscii()) ++ .append(cProtoVer->toLatin1()) + .append("!hedgewars") + , QCryptographicHash::Sha1).toHex(); + + m_serverHash = QCryptographicHash::hash( +- m_serverSalt.toAscii() +- .append(m_clientSalt.toAscii()) ++ m_serverSalt.toLatin1() ++ .append(m_clientSalt.toLatin1()) + .append(m_passwordHash) +- .append(cProtoVer->toAscii()) ++ .append(cProtoVer->toLatin1()) + .append("!hedgewars") + , QCryptographicHash::Sha1).toHex(); + +--- a/QTfrontend/net/proto.h Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/net/proto.h Wed Jan 24 22:20:10 2018 +0100 +@@ -22,7 +22,7 @@ + #include <QByteArray> + #include <QString> + #include <QStringList> +- ++#include <QObject> + + class HWProto : public QObject + { +--- a/QTfrontend/ui/dialog/upload_video.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/dialog/upload_video.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -38,7 +38,7 @@ + + // User-agent string used in http requests. + // Don't make it a global varibale - crash on linux because of cVersionString +-#define USER_AGENT ("Hedgewars-QtFrontend/" + *cVersionString).toAscii() ++#define USER_AGENT ("Hedgewars-QtFrontend/" + *cVersionString).toLatin1() + + // This is developer key obtained from http://code.google.com/apis/youtube/dashboard/ + // If you are reusing this code outside Hedgewars, don't use this developer key, +@@ -193,7 +193,7 @@ + + QString account(QUrl::toPercentEncoding(leAccount->text())); + QString pass(QUrl::toPercentEncoding(lePassword->text())); +- QByteArray data = QString("Email=%1&Passwd=%2&service=youtube&source=Hedgewars").arg(account).arg(pass).toAscii(); ++ QByteArray data = QString("Email=%1&Passwd=%2&service=youtube&source=Hedgewars").arg(account).arg(pass).toUtf8(); + + QNetworkReply *reply = netManager->post(request, data); + connect(reply, SIGNAL(finished()), this, SLOT(authFinished())); +@@ -246,7 +246,7 @@ + return; + } + +- QByteArray auth = ("GoogleLogin auth=" + authToken).toAscii(); ++ QByteArray auth = ("GoogleLogin auth=" + authToken).toLatin1(); + + // We have authenticated, now we can send metadata and start upload + // Documentation is here: https://developers.google.com/youtube/2.0/developers_guide_protocol_resumable_uploads#Resumable_uploads +--- a/QTfrontend/ui/page/pageadmin.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/page/pageadmin.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -98,7 +98,7 @@ + << tr("Expiration") + << tr("Reason") + ); +- twBans->horizontalHeader()->setResizeMode(2, QHeaderView::Stretch); ++ twBans->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch); + twBans->setEditTriggers(QAbstractItemView::NoEditTriggers); + twBans->setSelectionBehavior(QAbstractItemView::SelectRows); + twBans->setSelectionMode(QAbstractItemView::SingleSelection); +--- a/QTfrontend/ui/page/pagenet.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/page/pagenet.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -99,7 +99,7 @@ + { + tvServersList->setModel(new HWNetUdpModel(tvServersList)); + +- tvServersList->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); ++ tvServersList->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); + + static_cast<HWNetServersModel *>(tvServersList->model())->updateList(); + +--- a/QTfrontend/ui/page/pageroomslist.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/page/pageroomslist.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -154,7 +154,7 @@ + roomsList = new RoomTableView(this); + roomsList->setSelectionBehavior(QAbstractItemView::SelectRows); + roomsList->verticalHeader()->setVisible(false); +- roomsList->horizontalHeader()->setResizeMode(QHeaderView::Interactive); ++ roomsList->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); + roomsList->setAlternatingRowColors(true); + roomsList->setShowGrid(false); + roomsList->setSelectionMode(QAbstractItemView::SingleSelection); +@@ -587,7 +587,7 @@ + + h->setSortIndicatorShown(true); + h->setSortIndicator(RoomsListModel::StateColumn, Qt::AscendingOrder); +- h->setResizeMode(RoomsListModel::NameColumn, QHeaderView::Stretch); ++ h->setSectionResizeMode(RoomsListModel::NameColumn, QHeaderView::Stretch); + + if (!restoreHeaderState()) + { +--- a/QTfrontend/ui/page/pagevideos.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/page/pagevideos.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -133,8 +133,8 @@ + filesTable->setMinimumWidth(400); + + QHeaderView * header = filesTable->horizontalHeader(); +- header->setResizeMode(vcName, QHeaderView::ResizeToContents); +- header->setResizeMode(vcSize, QHeaderView::Fixed); ++ header->setSectionResizeMode(vcName, QHeaderView::ResizeToContents); ++ header->setSectionResizeMode(vcSize, QHeaderView::Fixed); + header->resizeSection(vcSize, 100); + header->setStretchLastSection(true); + +@@ -851,7 +851,7 @@ + + static QString unprotectPass(QString str) + { +- QByteArray array = QByteArray::fromBase64(str.toAscii()); ++ QByteArray array = QByteArray::fromBase64(str.toLatin1()); + for (int i = 0; i < array.size(); i++) + array[i] = array[i] ^ 0xC4 ^ i; + return QString::fromUtf8(array); +--- a/QTfrontend/ui/widget/about.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/widget/about.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -26,6 +26,7 @@ + #include <QMessageBox> + #include <QNetworkReply> + #include <QDebug> ++#include <QMimeData> + #include "hwconsts.h" + #include "SDLInteraction.h" + #include "SDL.h" +--- a/QTfrontend/ui/widget/chatwidget.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/widget/chatwidget.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -32,6 +32,7 @@ + #include <QSortFilterProxyModel> + #include <QMenu> + #include <QScrollBar> ++#include <QMimeData> + + #include "DataManager.h" + #include "hwconsts.h" +@@ -312,7 +313,7 @@ + else if (link.scheme() == "hwnick") + { + // decode nick +- QString nick = QString::fromUtf8(QByteArray::fromBase64(link.encodedQuery())); ++ QString nick = QString::fromUtf8(QByteArray::fromBase64(link.query(QUrl::FullyDecoded).toLatin1())); + QModelIndexList mil = chatNicks->model()->match(chatNicks->model()->index(0, 0), Qt::DisplayRole, nick); + + bool isOffline = (mil.size() < 1); +@@ -374,10 +375,10 @@ + { + if (nickname != m_userNick) + return QString("<a href=\"hwnick://?%1\" class=\"nick\">%2</a>").arg( +- QString(nickname.toUtf8().toBase64())).arg(Qt::escape(nickname)); ++ QString(nickname.toUtf8().toBase64())).arg(nickname.toHtmlEscaped()); + + // unlinked nick (if own one) +- return QString("<span class=\"nick\">%1</span>").arg(Qt::escape(nickname)); ++ return QString("<span class=\"nick\">%1</span>").arg(nickname.toHtmlEscaped()); + } + + const QRegExp HWChatWidget::URLREGEXP = QRegExp("(http(s)?://)?(www\\.)?((([^/:?&#]+\\.)?hedgewars\\.org|code\\.google\\.com|googlecode\\.com|hh\\.unit22\\.org)(/[^ ]*)?)"); +@@ -399,7 +400,7 @@ + + QString HWChatWidget::messageToHTML(const QString & message) + { +- QString formattedStr = Qt::escape(message); ++ QString formattedStr = message.toHtmlEscaped(); + // link some urls + formattedStr = formattedStr.replace(URLREGEXP, "<a href=\"http\\2://\\4\">\\4</a>"); + return formattedStr; +@@ -606,9 +607,9 @@ + { + addLine("msg_PlayerInfo", QString(" >>> %1 - <span class=\"ipaddress\">%2</span> <span class=\"version\">%3</span> <span class=\"location\">%4</span>") + .arg(linkedNick(nick)) +- .arg(Qt::escape(ip == "[]"?"":ip)) +- .arg(Qt::escape(version)) +- .arg(Qt::escape(roomInfo)) ++ .arg(QString(ip == "[]"?"":ip).toHtmlEscaped()) ++ .arg(version.toHtmlEscaped()) ++ .arg(roomInfo.toHtmlEscaped()) + ); + } + +--- a/QTfrontend/ui/widget/feedbackdialog.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/widget/feedbackdialog.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -20,7 +20,7 @@ + #include <QLineEdit> + #include <QTextBrowser> + #include <QLabel> +-#include <QHttp> ++#include <QNetworkAccessManager> + #include <QSysInfo> + #include <QDebug> + #include <QBuffer> +@@ -474,7 +474,7 @@ + this, SLOT(finishedSlot(QNetworkReply*))); + + QNetworkRequest header(QUrl("https://hedgewars.org/feedback/?submit")); +- header.setRawHeader("Content-Length", QString::number(body.size()).toAscii()); ++ header.setRawHeader("Content-Length", QString::number(body.size()).toLatin1()); + header.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); + + nam->post(header, body); +--- a/QTfrontend/ui/widget/keybinder.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/widget/keybinder.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -154,7 +154,7 @@ + curTable = new QTableWidget(0, 2); + curTable->verticalHeader()->setVisible(false); + curTable->horizontalHeader()->setVisible(false); +- curTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch); ++ curTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + curTable->verticalHeader()->setDefaultSectionSize(rowHeight); + curTable->setShowGrid(false); + curTable->setStyleSheet("QTableWidget { border: none; } "); +--- a/QTfrontend/ui/widget/mapContainer.cpp Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/ui/widget/mapContainer.cpp Wed Jan 24 22:20:10 2018 +0100 +@@ -984,7 +984,7 @@ + { + m_theme = selectedTheme = current.data(ThemeModel::ActualNameRole).toString(); + m_themeID = current.row(); +- QIcon icon = qVariantValue<QIcon>(current.data(Qt::DecorationRole)); ++ QIcon icon = current.data(Qt::DecorationRole).value<QIcon>(); + //QSize iconSize = icon.actualSize(QSize(65535, 65535)); + //btnTheme->setFixedHeight(64); + //btnTheme->setIconSize(iconSize); +--- a/QTfrontend/util/FileEngine.h Wed Jan 24 21:05:34 2018 +0100 ++++ b/QTfrontend/util/FileEngine.h Wed Jan 24 22:20:10 2018 +0100 +@@ -1,9 +1,7 @@ + #ifndef _FileEngine_h + #define _FileEngine_h + +-#include <QAbstractFileEngine> +-#include <QAbstractFileEngineHandler> +-#include <QAbstractFileEngineIterator> ++#include <private/qabstractfileengine_p.h> + #include <QDateTime> + + #include "physfs.h" + diff --git a/games-strategy/hedgewars/files/hedgewars-0.9.23-settings-saving.patch b/games-strategy/hedgewars/files/hedgewars-0.9.23-settings-saving.patch new file mode 100644 index 000000000000..3997ac37649b --- /dev/null +++ b/games-strategy/hedgewars/files/hedgewars-0.9.23-settings-saving.patch @@ -0,0 +1,134 @@ +From f8e302e5ac5033c1b7ac5d83d6d8df3f15eb6178 Mon Sep 17 00:00:00 2001 +From: Wuzzy <Wuzzy2@mail.ru> +Date: Tue, 27 Mar 2018 17:32:23 +0200 +Subject: [PATCH] Fix team files and settings not saving properly, and remove + FileEngine stuff from DLC + +This is done by using absolute paths and removing physfs:// +--- + QTfrontend/game.cpp | 4 ++-- + QTfrontend/team.cpp | 10 +++++----- + QTfrontend/ui/page/pagedata.cpp | 6 ------ + QTfrontend/util/DataManager.cpp | 4 ++-- + 4 files changed, 9 insertions(+), 15 deletions(-) + +diff --git a/QTfrontend/game.cpp b/QTfrontend/game.cpp +index 224c38350..f071ef734 100644 +--- a/QTfrontend/game.cpp ++++ b/QTfrontend/game.cpp +@@ -536,7 +536,7 @@ void HWGame::abort() + void HWGame::sendCampaignVar(const QByteArray &varToSend) + { + QString varToFind = QString::fromUtf8(varToSend); +- QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); ++ QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); + teamfile.setIniCodec("UTF-8"); + QString varValue = teamfile.value("Campaign " + campaign + "/" + varToFind, "").toString(); + QByteArray command; +@@ -553,7 +553,7 @@ void HWGame::writeCampaignVar(const QByteArray & varVal) + QString varToWrite = QString::fromUtf8(varVal.left(i)); + QString varValue = QString::fromUtf8(varVal.mid(i + 1)); + +- QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); ++ QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); + teamfile.setIniCodec("UTF-8"); + teamfile.setValue("Campaign " + campaign + "/" + varToWrite, varValue); + } +diff --git a/QTfrontend/team.cpp b/QTfrontend/team.cpp +index 0586e622a..740697b7f 100644 +--- a/QTfrontend/team.cpp ++++ b/QTfrontend/team.cpp +@@ -171,7 +171,7 @@ HWTeam & HWTeam::operator = (const HWTeam & other) + + bool HWTeam::loadFromFile() + { +- QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)), QSettings::IniFormat, 0); ++ QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)), QSettings::IniFormat, 0); + teamfile.setIniCodec("UTF-8"); + m_name = teamfile.value("Team/Name", m_name).toString(); + m_grave = teamfile.value("Team/Grave", "Statue").toString(); +@@ -204,7 +204,7 @@ bool HWTeam::loadFromFile() + + bool HWTeam::fileExists() + { +- QFile f(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); ++ QFile f(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); + return f.exists(); + } + +@@ -220,7 +220,7 @@ bool HWTeam::deleteFile() + { + if(m_isNetTeam) + return false; +- QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); ++ QFile cfgfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); + cfgfile.remove(); + return true; + } +@@ -229,12 +229,12 @@ bool HWTeam::saveToFile() + { + if (OldTeamName != m_name) + { +- QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName))); ++ QFile cfgfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName))); + cfgfile.remove(); + OldTeamName = m_name; + } + +- QString fileName = QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)); ++ QString fileName = QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)); + DataManager::ensureFileExists(fileName); + QSettings teamfile(fileName, QSettings::IniFormat, 0); + teamfile.setIniCodec("UTF-8"); +diff --git a/QTfrontend/ui/page/pagedata.cpp b/QTfrontend/ui/page/pagedata.cpp +index ccdea5ac4..cc7d17b2a 100644 +--- a/QTfrontend/ui/page/pagedata.cpp ++++ b/QTfrontend/ui/page/pagedata.cpp +@@ -31,8 +31,6 @@ + #include "pagedata.h" + #include "databrowser.h" + #include "hwconsts.h" +-#include "DataManager.h" +-#include "FileEngine.h" + + QLayout * PageDataDownload::bodyLayoutDefinition() + { +@@ -197,9 +195,6 @@ void PageDataDownload::fileDownloaded() + out.write(reply->readAll()); + + out.close(); +- +- // now mount it +- FileEngineHandler::mount(fileName); + } + } + +@@ -229,7 +224,6 @@ void PageDataDownload::onPageLeave() + if (m_contentDownloaded) + { + m_contentDownloaded = false; +- //DataManager::instance().reload(); + } + } + +diff --git a/QTfrontend/util/DataManager.cpp b/QTfrontend/util/DataManager.cpp +index 3d69931cf..5c8aa4cc5 100644 +--- a/QTfrontend/util/DataManager.cpp ++++ b/QTfrontend/util/DataManager.cpp +@@ -172,11 +172,11 @@ QString DataManager::settingsFileName() + { + if(m_settingsFileName.isEmpty()) + { +- QFile settingsFile("physfs://settings.ini"); ++ QFile settingsFile(cfgdir->absoluteFilePath("settings.ini")); + + if(!settingsFile.exists()) + { +- QFile oldSettingsFile("physfs://hedgewars.ini"); ++ QFile oldSettingsFile(cfgdir->absoluteFilePath("hedgewars.ini")); + + settingsFile.open(QFile::WriteOnly); + settingsFile.close(); +-- +2.16.1 + diff --git a/games-strategy/hedgewars/hedgewars-0.9.23-r3.ebuild b/games-strategy/hedgewars/hedgewars-0.9.23-r3.ebuild new file mode 100644 index 000000000000..ae864014ed82 --- /dev/null +++ b/games-strategy/hedgewars/hedgewars-0.9.23-r3.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake-utils desktop xdg-utils + +MY_P=${PN}-src-${PV} +DEB_PATCH_VER=7 + +DESCRIPTION="A turn-based strategy, artillery, action and comedy game" +HOMEPAGE="https://www.hedgewars.org/" +SRC_URI="https://www.hedgewars.org/download/releases/${MY_P}.tar.bz2 + mirror://debian/pool/main/h/${PN}/${PN}_0.9.22-dfsg-${DEB_PATCH_VER}.debian.tar.xz" + +LICENSE="GPL-2 Apache-2.0 FDL-1.3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="libav" + +QA_FLAGS_IGNORED="/usr/bin/hwengine" # pascal sucks +QA_PRESTRIPPED="/usr/bin/hwengine" # pascal sucks + +# qtcore:5= - depends on private header +CDEPEND=" + >=dev-games/physfs-3.0.1 + dev-lang/lua:0= + dev-qt/qtcore:5= + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + media-libs/libpng:0= + media-libs/libsdl2:= + media-libs/sdl2-image:= + media-libs/sdl2-mixer:=[vorbis] + media-libs/sdl2-net:= + media-libs/sdl2-ttf:= + sys-libs/zlib:= + libav? ( media-video/libav:= ) + !libav? ( media-video/ffmpeg:= )" +DEPEND="${CDEPEND} + >=dev-lang/fpc-2.4 + dev-qt/linguist-tools:5" +RDEPEND="${CDEPEND} + app-arch/xz-utils + >=media-fonts/dejavu-2.28 + media-fonts/wqy-zenhei" + +S="${WORKDIR}"/${MY_P} + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.22-rpath-fix.patch + "${FILESDIR}"/${P}-qt5-{1,2}.patch # bug 645504 + "${FILESDIR}"/${P}-settings-saving.patch # bug 651810 +) + +src_configure() { + local mycmakeargs=( + -DMINIMAL_FLAGS=ON + -DDATA_INSTALL_DIR="${EPREFIX}/usr/share/${PN}" + -Dtarget_binary_install_dir="${EPREFIX}/usr/bin" + -Dtarget_library_install_dir="${EPREFIX}/usr/$(get_libdir)" + -DNOSERVER=TRUE + -DCMAKE_VERBOSE_MAKEFILE=TRUE + -DPHYSFS_SYSTEM=ON + # Need to tell the build system where the fonts are located + # as it uses PhysFS' symbolic link protection mode which + # prevents us from symlinking the fonts into the right directory + # https://hg.hedgewars.org/hedgewars/rev/76ad55807c24 + # https://icculus.org/physfs/docs/html/physfs_8h.html#aad451d9b3f46f627a1be8caee2eef9b7 + -DFONTS_DIRS="${EPREFIX}/usr/share/fonts/wqy-zenhei;${EPREFIX}/usr/share/fonts/dejavu" + # upstream sets RPATH that leads to weird breakage + # https://bugzilla.redhat.com/show_bug.cgi?id=1200193 + -DCMAKE_SKIP_RPATH=ON + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + doman man/${PN}.6 +} + +pkg_postinst() { + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/games-strategy/wesnoth/Manifest b/games-strategy/wesnoth/Manifest index 7cce06a5dc8a..5d08a392906e 100644 --- a/games-strategy/wesnoth/Manifest +++ b/games-strategy/wesnoth/Manifest @@ -1,9 +1,6 @@ AUX wesnothd.rc 502 BLAKE2B 70803edb2084abfee5382624adba4a31e0bd1d5e9e2a7d800f7732fb262bacc80eb39550f2c15d19b7be9bc626d07aa5eafca04ea07abfda92a1778681a51428 SHA512 5e0a4680a35f81e749b8e0d56e3cf372c4a13b19578deda072560d0c63460426d7bde3e0e955287c8fbc939c700dc487283373ff9bc72bbcd9cf633ddaeafc96 -AUX wesnothd.rc-r1 511 BLAKE2B 57e8b21313e5cb677dcdac3b046caf5b1e5f690f357373c48779afa9ea969de855e8ea4849298963891d0c2b029cc1897d97d0069b5087a1496db9061a468d7f SHA512 609c3c2eb2846735610904bcc913a0db9c8daeedde77da8911ea7e85deec805ba103519785cea1c767444c46df5985c6c630ceed550085ab5527e51ff01d65ab DIST wesnoth-1.12.6.tar.bz2 387869758 BLAKE2B 53328f8ebbaaabb266064fea57c0d28779183ba1b77ae8522c4dbb01c4a9ad9068d76307b48cec6576648132bf34f9a45efdb93ad36e03d035ed06e84711c9b6 SHA512 12ca3b5de8fd385b05cc8e76604f7aed68127a7542599d6e97cce793e10636e00bd65dcb088701e20ccc7191f41b1d67a00b291f885df880fac00d13d6fbde7a DIST wesnoth-1.14.1.tar.gz 481355736 BLAKE2B 2cc41a36706919bbc505a9a6726ea9b0fbfd5bfde677da937fdde2645587f4407fb6ed2f7271efaf1763f9ab69a57d153130291d5dc0a79862e554963dd37079 SHA512 0372eb9479d3d24dc4bf692a83fe310d5b4493989f18f0a23070ee19a4bee2672efd38babe1579b08a321e3acba1ede5823376619c8a90102f968e53cc6e3f02 -DIST wesnoth-1.14.2.tar.gz 489041516 BLAKE2B f38f3596edd97096e39ee1e87e13a3d0402d0f9f0f67f25ce1e4a28123abc62ca7b2410c8420a4091d505bf64219cdf92c1cfed562ae2f3705c37685d7c2c20e SHA512 010dcdeaf03d3855192d2480facbfce134459b71acb06515196968dd66b5e1fc40bd75eeeb8b7dd7fc30c9b43af004784d9907893c4b1d61e57436457afc30bb EBUILD wesnoth-1.12.6.ebuild 3106 BLAKE2B 20d3d1069778f17dde09d92b734ca4aa1a9f6c20cf0cf65339a418c686e83e9a7b1d40e39aa823f467b50c62cf4cc7ec71a110ce390213189008940c0cfe3ef8 SHA512 3220f1581f8f4561d2c179267d47fd8c8c1eeb0a296467e6d07311635e01f2981b64b747377e229f0e3cd575accab4b66be99be36994b81400db20f56f795f5d -EBUILD wesnoth-1.14.1-r1.ebuild 2656 BLAKE2B 00da7cf0a8939393225357da39a395d0de8c6bfb37b9eb939fc4c6813357ad7ac32ccfb395dfbc6ae6cab918e87fc041b097d5125d3b564ff74f5d045c68d197 SHA512 3276ec8c8b527addd1caf2f413dd95ec219bd7cc47779bb146eeddbd6bc7dd840bb6d852f70992ffde5dca90501489484faf27f6f65053b2b0b098d1cf8f941f -EBUILD wesnoth-1.14.2.ebuild 2656 BLAKE2B 00da7cf0a8939393225357da39a395d0de8c6bfb37b9eb939fc4c6813357ad7ac32ccfb395dfbc6ae6cab918e87fc041b097d5125d3b564ff74f5d045c68d197 SHA512 3276ec8c8b527addd1caf2f413dd95ec219bd7cc47779bb146eeddbd6bc7dd840bb6d852f70992ffde5dca90501489484faf27f6f65053b2b0b098d1cf8f941f +EBUILD wesnoth-1.14.1.ebuild 2641 BLAKE2B bc0275d338a9962fb68bfef10da763f0826b430c4ce07a1aa7d6a2ccf5fb761335595414ec44b27ef77ac3a090836167f84fa730da08a2eb72de2cbfe174689d SHA512 270a8b2ecec3901c426fe5b5578fc5773b4de83d512936ad9caa9b9d4500d3e642afe849cb1847f2ea416510111903a583b3f4ebe0a402b40a8fbb21510e19b2 MISC metadata.xml 485 BLAKE2B f9a78a24d1cd5ddc70fb2e8c6b9b0fa081409d99523cb9a14b890b36866576afa2ab33cb11986b364ee34aac3e4ea30f0908692ba99d56f32199860c5b65e707 SHA512 ccc12cec7aa66b59d11f65d4b8b6127c86eab2e998c31587f4323020231b55c6460d0c1fad04d7298ccdb2fe1bd9abc43e3b93716a379cbbc46f60f6bcd68ef3 diff --git a/games-strategy/wesnoth/files/wesnothd.rc-r1 b/games-strategy/wesnoth/files/wesnothd.rc-r1 deleted file mode 100644 index c1a0d9d20167..000000000000 --- a/games-strategy/wesnoth/files/wesnothd.rc-r1 +++ /dev/null @@ -1,23 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -depend() { - use net -} - -start() { - checkpath -q -d -m 0750 -o wesnoth:wesnoth /run/wesnothd - ebegin "Starting wesnothd" - start-stop-daemon --start --quiet -b -m \ - --pidfile /run/wesnothd/wesnothd.pid \ - -c wesnoth:wesnoth \ - --exec /usr/bin/wesnothd - eend $? -} - -stop() { - ebegin "Stopping wesnothd" - start-stop-daemon --stop --quiet --pidfile /run/wesnothd/wesnothd.pid - eend $? -} diff --git a/games-strategy/wesnoth/wesnoth-1.14.1-r1.ebuild b/games-strategy/wesnoth/wesnoth-1.14.1.ebuild index 5a1f6c5af2e9..7372ade39d66 100644 --- a/games-strategy/wesnoth/wesnoth-1.14.1-r1.ebuild +++ b/games-strategy/wesnoth/wesnoth-1.14.1.ebuild @@ -108,7 +108,7 @@ src_configure() { src_install() { DOCS="README.md changelog.md players_changelog.md" cmake-utils_src_install if use dedicated || use server; then - rmdir "${ED%/}/run/wesnothd" || die - newinitd "${FILESDIR}"/wesnothd.rc-r1 wesnothd + keepdir "/run/wesnothd" + newinitd "${FILESDIR}"/wesnothd.rc wesnothd fi } diff --git a/games-strategy/wesnoth/wesnoth-1.14.2.ebuild b/games-strategy/wesnoth/wesnoth-1.14.2.ebuild deleted file mode 100644 index 5a1f6c5af2e9..000000000000 --- a/games-strategy/wesnoth/wesnoth-1.14.2.ebuild +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit cmake-utils user - -DESCRIPTION="Battle for Wesnoth - A fantasy turn-based strategy game" -HOMEPAGE="http://www.wesnoth.org - https://github.com/wesnoth/wesnoth" -SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~x86-fbsd" -IUSE="dbus dedicated doc fribidi libressl nls openmp server" - -RDEPEND=" - >=dev-libs/boost-1.50:=[nls,threads,icu] - >=media-libs/libsdl2-2.0.4:0[joystick,video,X] - !dedicated? ( - dev-libs/glib:2 - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - >=media-libs/fontconfig-2.4.1 - >=media-libs/sdl2-image-2.0.0[jpeg,png] - >=media-libs/sdl2-mixer-2.0.0[vorbis] - >=media-libs/sdl2-ttf-2.0.12 - media-libs/libvorbis - >=x11-libs/pango-1.22.0 - >=x11-libs/cairo-1.10.0 - sys-libs/readline:0 - dbus? ( sys-apps/dbus ) - fribidi? ( dev-libs/fribidi ) - )" -DEPEND="${RDEPEND} - sys-devel/gettext - virtual/pkgconfig - x11-libs/libX11 -" - -pkg_setup() { - if use openmp; then - tc-has-openmp || die "Please switch to an openmp compatible compiler" - fi - - enewgroup ${PN} - enewuser ${PN} -1 /bin/bash -1 ${PN} -} - -src_prepare() { - cmake-utils_src_prepare - - if ! use doc ; then - sed -i \ - -e '/manual/d' \ - doc/CMakeLists.txt || die - fi - - # respect LINGUAS (bug #483316) - if [[ ${LINGUAS+set} ]] ; then - local langs - for lang in $(cat po/LINGUAS) - do - has $lang $LINGUAS && langs+="$lang " - done - echo "$langs" > po/LINGUAS || die - fi -} - -src_configure() { - filter-flags -ftracer -fomit-frame-pointer - if [[ $(gcc-major-version) -eq 3 ]] ; then - filter-flags -fstack-protector - append-flags -fno-stack-protector - fi - - # Work around eclass - append-flags -UNDEBUG - - if use dedicated || use server ; then - mycmakeargs=( - -DENABLE_CAMPAIGN_SERVER="ON" - -DENABLE_SERVER="ON" - -DSERVER_UID="${PN}" - -DSERVER_GID="${PN}" - -DFIFO_DIR="/run/wesnothd" - ) - else - mycmakeargs=( - -DENABLE_CAMPAIGN_SERVER="OFF" - -DENABLE_SERVER="OFF" - ) - fi - mycmakeargs+=( - -Wno-dev - -DENABLE_GAME="$(usex !dedicated)" - -DENABLE_DESKTOP_ENTRY="$(usex !dedicated)" - -DENABLE_NLS="$(usex nls)" - -DENABLE_NOTIFICATIONS="$(usex dbus)" - -DENABLE_FRIBIDI="$(usex fribidi)" - -DENABLE_OMP="$(usex openmp)" - -DENABLE_STRICT_COMPILATION="OFF" - -DCMAKE_INSTALL_PREFIX="/usr" - ) - cmake-utils_src_configure -} - -src_install() { - DOCS="README.md changelog.md players_changelog.md" cmake-utils_src_install - if use dedicated || use server; then - rmdir "${ED%/}/run/wesnothd" || die - newinitd "${FILESDIR}"/wesnothd.rc-r1 wesnothd - fi -} |