diff options
author | Tobias Kortkamp <tobik@FreeBSD.org> | 2018-06-06 15:54:57 +0000 |
---|---|---|
committer | Tobias Kortkamp <tobik@FreeBSD.org> | 2018-06-06 15:54:57 +0000 |
commit | 0ab76735dc6b38ccc38049f466bfd5912fea688e (patch) | |
tree | 266fef7eff13f5868b58ec455ad6d545e4c40ad0 /games/multimc | |
parent | fd8a4a64dab17e85a84c45cfc64d78516b695734 (diff) | |
download | ports-0ab76735dc6b38ccc38049f466bfd5912fea688e.tar.gz ports-0ab76735dc6b38ccc38049f466bfd5912fea688e.zip |
Notes
Diffstat (limited to 'games/multimc')
21 files changed, 455 insertions, 0 deletions
diff --git a/games/multimc/Makefile b/games/multimc/Makefile new file mode 100644 index 000000000000..e4616e9eea66 --- /dev/null +++ b/games/multimc/Makefile @@ -0,0 +1,38 @@ +# $FreeBSD$ + +PORTNAME= multimc +DISTVERSION= 0.6.0 +CATEGORIES= games java + +MAINTAINER= me@tsundoku.ne.jp +COMMENT= Minecraft launcher with the ability to manage multiple instances + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/COPYING.md + +RUN_DEPENDS= lwjgl>=2.9.3:games/lwjgl + +USES= cmake:outsource compiler:c++14-lang +USE_GITHUB= yes +GH_ACCOUNT= MultiMC +GH_PROJECT= MultiMC5 +GH_TUPLE= MultiMC:libnbtplusplus:4b305bb:libnbtplusplus/libraries/libnbtplusplus \ + MultiMC:quazip:164acc3:quazip/libraries/quazip +USE_LDCONFIG= yes +USE_JAVA= 1.8+ +USE_QT5= buildtools core concurrent gui network qmake testlib_build widgets xml + +CMAKE_ARGS= -DMultiMC_LAYOUT="lin-system" +CMAKE_OFF= MultiMC_UPDATER +CXXFLAGS+= -Wno-inconsistent-missing-override \ + -Wno-delete-non-virtual-dtor \ + -DLWJGL_DIR='\"${LOCALBASE}/lib/lwjgl2.9.3\"' + +post-patch: + @${REINPLACE_CMD} 's,usr/local,${PREFIX:S@^/@@},g' \ + ${WRKSRC}/application/CMakeLists.txt + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libMultiMC_*.so + +.include <bsd.port.mk> diff --git a/games/multimc/distinfo b/games/multimc/distinfo new file mode 100644 index 000000000000..cd4cfaf6a489 --- /dev/null +++ b/games/multimc/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1514826359 +SHA256 (MultiMC-MultiMC5-0.6.0_GH0.tar.gz) = ac458be99250d2a369ee805bf9560e396d0e0f16a95cc84c36eb0ef1e94a6374 +SIZE (MultiMC-MultiMC5-0.6.0_GH0.tar.gz) = 1844862 +SHA256 (MultiMC-libnbtplusplus-4b305bb_GH0.tar.gz) = 576391fb7aac44e8d8e2012f38b1f0bbb08cb9d0cd9104f162cfdee4b83e5627 +SIZE (MultiMC-libnbtplusplus-4b305bb_GH0.tar.gz) = 47080 +SHA256 (MultiMC-quazip-164acc3_GH0.tar.gz) = fb289ba497f2e315a8e85881ca78218f859d7a72f11463251cfb83271c4381b7 +SIZE (MultiMC-quazip-164acc3_GH0.tar.gz) = 103454 diff --git a/games/multimc/files/patch-CMakeLists.txt b/games/multimc/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..d0a2282ff20a --- /dev/null +++ b/games/multimc/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2017-12-18 00:19:43 UTC ++++ CMakeLists.txt +@@ -5,6 +5,8 @@ if(IS_IN_SOURCE_BUILD) + message(AUTHOR_WARNING "You are building MultiMC in-source. This is NOT recommended!") + endif() + ++set(CMAKE_INSTALL_PREFIX "/") ++ + if(WIN32) + # In Qt 5.1+ we have our own main() function, don't autolink to qtmain on Windows + cmake_policy(SET CMP0020 OLD) diff --git a/games/multimc/files/patch-api_gui_DesktopServices.cpp b/games/multimc/files/patch-api_gui_DesktopServices.cpp new file mode 100644 index 000000000000..40db6824a165 --- /dev/null +++ b/games/multimc/files/patch-api_gui_DesktopServices.cpp @@ -0,0 +1,56 @@ +--- api/gui/DesktopServices.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/gui/DesktopServices.cpp +@@ -7,7 +7,7 @@ + /** + * This shouldn't exist, but until QTBUG-9328 and other unreported bugs are fixed, it needs to be a thing. + */ +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + + #include <unistd.h> + #include <errno.h> +@@ -83,7 +83,7 @@ bool openDirectory(const QString &path, + { + return QDesktopServices::openUrl(QUrl::fromLocalFile(dir.absolutePath())); + }; +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined (Q_OS_FREEBSD) + return IndirectOpen(f); + #else + return f(); +@@ -97,7 +97,7 @@ bool openFile(const QString &path) + { + return QDesktopServices::openUrl(QUrl::fromLocalFile(path)); + }; +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined (Q_OS_FREEBSD) + return IndirectOpen(f); + #else + return f(); +@@ -107,7 +107,7 @@ bool openFile(const QString &path) + bool openFile(const QString &application, const QString &path, const QString &workingDirectory, qint64 *pid) + { + qDebug() << "Opening file" << path << "using" << application; +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined (Q_OS_FREEBSD) + // FIXME: the pid here is fake. So if something depends on it, it will likely misbehave + return IndirectOpen([&]() + { +@@ -121,7 +121,7 @@ bool openFile(const QString &application + bool run(const QString &application, const QStringList &args, const QString &workingDirectory, qint64 *pid) + { + qDebug() << "Running" << application << "with args" << args.join(' '); +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined (Q_OS_FREEBSD) + // FIXME: the pid here is fake. So if something depends on it, it will likely misbehave + return IndirectOpen([&]() + { +@@ -139,7 +139,7 @@ bool openUrl(const QUrl &url) + { + return QDesktopServices::openUrl(url); + }; +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + return IndirectOpen(f); + #else + return f(); diff --git a/games/multimc/files/patch-api_logic_FileSystem.cpp b/games/multimc/files/patch-api_logic_FileSystem.cpp new file mode 100644 index 000000000000..730d31fb09cd --- /dev/null +++ b/games/multimc/files/patch-api_logic_FileSystem.cpp @@ -0,0 +1,11 @@ +--- api/logic/FileSystem.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/FileSystem.cpp +@@ -407,7 +407,7 @@ QString getDesktopDir() + bool createShortCut(QString location, QString dest, QStringList args, QString name, + QString icon) + { +-#if defined Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + location = PathCombine(location, name + ".desktop"); + + QFile f(location); diff --git a/games/multimc/files/patch-api_logic_FileSystem__test.cpp b/games/multimc/files/patch-api_logic_FileSystem__test.cpp new file mode 100644 index 000000000000..8f9c5e77e018 --- /dev/null +++ b/games/multimc/files/patch-api_logic_FileSystem__test.cpp @@ -0,0 +1,20 @@ +--- api/logic/FileSystem_test.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/FileSystem_test.cpp +@@ -119,7 +119,7 @@ slots: + + // this is only valid on linux + // FIXME: implement on windows, OSX, then test. +-#if defined(Q_OS_LINUX) ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + void test_createShortcut_data() + { + QTest::addColumn<QString>("location"); +@@ -134,7 +134,7 @@ slots: + << (QStringList() << "arg1" << "arg2") + << "asdf" + << QString() +- #if defined(Q_OS_LINUX) ++ #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + << MULTIMC_GET_TEST_FILE("data/FileSystem-test_createShortcut-unix") + #elif defined(Q_OS_WIN) + << QByteArray() diff --git a/games/multimc/files/patch-api_logic_java_JavaUtils.cpp b/games/multimc/files/patch-api_logic_java_JavaUtils.cpp new file mode 100644 index 000000000000..72acd31781f3 --- /dev/null +++ b/games/multimc/files/patch-api_logic_java_JavaUtils.cpp @@ -0,0 +1,29 @@ +--- api/logic/java/JavaUtils.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/java/JavaUtils.cpp +@@ -81,7 +81,7 @@ QProcessEnvironment CleanEnviroment() + qDebug() << "Env: ignoring" << key << value; + continue; + } +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + // Do not pass LD_* variables to java. They were intended for MultiMC + if(key.startsWith("LD_")) + { +@@ -110,7 +110,7 @@ QProcessEnvironment CleanEnviroment() + qDebug() << "Env: " << key << value; + env.insert(key, value); + } +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + // HACK: Workaround for QTBUG42500 + if(!env.contains("LD_LIBRARY_PATH")) + { +@@ -291,7 +291,7 @@ QList<QString> JavaUtils::FindJavaPaths( + return javas; + } + +-#elif defined(Q_OS_LINUX) ++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + QList<QString> JavaUtils::FindJavaPaths() + { + qDebug() << "Linux Java detection incomplete - defaulting to \"java\""; diff --git a/games/multimc/files/patch-api_logic_minecraft_MinecraftInstance.cpp b/games/multimc/files/patch-api_logic_minecraft_MinecraftInstance.cpp new file mode 100644 index 000000000000..294b2c329305 --- /dev/null +++ b/games/multimc/files/patch-api_logic_minecraft_MinecraftInstance.cpp @@ -0,0 +1,14 @@ +--- api/logic/minecraft/MinecraftInstance.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/minecraft/MinecraftInstance.cpp +@@ -163,7 +163,11 @@ QString MinecraftInstance::binRoot() con + + QString MinecraftInstance::getNativePath() const + { ++#if defined(Q_OS_FREEBSD) ++ QDir natives_dir(LWJGL_DIR "/"); ++#else + QDir natives_dir(FS::PathCombine(instanceRoot(), "natives/")); ++#endif + return natives_dir.absolutePath(); + } + diff --git a/games/multimc/files/patch-api_logic_minecraft_OpSys.cpp b/games/multimc/files/patch-api_logic_minecraft_OpSys.cpp new file mode 100644 index 000000000000..923ba7be914b --- /dev/null +++ b/games/multimc/files/patch-api_logic_minecraft_OpSys.cpp @@ -0,0 +1,27 @@ +--- api/logic/minecraft/OpSys.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/minecraft/OpSys.cpp +@@ -17,6 +17,8 @@ + + OpSys OpSys_fromString(QString name) + { ++ if (name == "freebsd") ++ return Os_FreeBSD; + if (name == "linux") + return Os_Linux; + if (name == "windows") +@@ -30,6 +32,8 @@ QString OpSys_toString(OpSys name) + { + switch (name) + { ++ case Os_FreeBSD: ++ return "freebsd"; + case Os_Linux: + return "linux"; + case Os_OSX: +@@ -39,4 +43,4 @@ QString OpSys_toString(OpSys name) + default: + return "other"; + } +-} +\ No newline at end of file ++} diff --git a/games/multimc/files/patch-api_logic_minecraft_OpSys.h b/games/multimc/files/patch-api_logic_minecraft_OpSys.h new file mode 100644 index 000000000000..2a0818fafd49 --- /dev/null +++ b/games/multimc/files/patch-api_logic_minecraft_OpSys.h @@ -0,0 +1,25 @@ +--- api/logic/minecraft/OpSys.h.orig 2017-12-18 00:19:43 UTC ++++ api/logic/minecraft/OpSys.h +@@ -20,6 +20,7 @@ enum OpSys + Os_Windows, + Os_Linux, + Os_OSX, ++ Os_FreeBSD, + Os_Other + }; + +@@ -28,10 +29,10 @@ QString OpSys_toString(OpSys); + + #ifdef Q_OS_WIN32 + #define currentSystem Os_Windows +-#else +-#ifdef Q_OS_MAC ++#elif defined Q_OS_MAC + #define currentSystem Os_OSX ++#elif defined Q_OS_FREEBSD ++#define currentSystem Os_FreeBSD + #else + #define currentSystem Os_Linux + #endif +-#endif +\ No newline at end of file diff --git a/games/multimc/files/patch-api_logic_minecraft_launch_ExtractNatives.cpp b/games/multimc/files/patch-api_logic_minecraft_launch_ExtractNatives.cpp new file mode 100644 index 000000000000..e9815391e61a --- /dev/null +++ b/games/multimc/files/patch-api_logic_minecraft_launch_ExtractNatives.cpp @@ -0,0 +1,17 @@ +--- api/logic/minecraft/launch/ExtractNatives.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/minecraft/launch/ExtractNatives.cpp +@@ -23,6 +23,14 @@ + #include "FileSystem.h" + #include <QDir> + ++//C library defines interfere with Java version check ++#ifdef major ++ #undef major ++#endif ++#ifdef minor ++ #undef minor ++#endif ++ + static QString replaceSuffix (QString target, const QString &suffix, const QString &replacement) + { + if (!target.endsWith(suffix)) diff --git a/games/multimc/files/patch-api_logic_minecraft_launch_PrintInstanceInfo.cpp b/games/multimc/files/patch-api_logic_minecraft_launch_PrintInstanceInfo.cpp new file mode 100644 index 000000000000..409aa64c3c5f --- /dev/null +++ b/games/multimc/files/patch-api_logic_minecraft_launch_PrintInstanceInfo.cpp @@ -0,0 +1,62 @@ +--- api/logic/minecraft/launch/PrintInstanceInfo.cpp.orig 2017-12-18 00:19:43 UTC ++++ api/logic/minecraft/launch/PrintInstanceInfo.cpp +@@ -24,6 +24,10 @@ void PrintInstanceInfo::executeTask() + auto instance = m_parent->instance(); + auto lines = instance->verboseDescription(m_session); + ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) ++ ++ char buff[512]; ++ + #ifdef Q_OS_LINUX + std::ifstream cpuin("/proc/cpuinfo"); + for (std::string line; std::getline(cpuin, line);) +@@ -36,7 +40,6 @@ void PrintInstanceInfo::executeTask() + } + } + +- char buff[512]; + int gpuline = -1; + int cline = 0; + FILE *fp = popen("lspci -k", "r"); +@@ -64,6 +67,40 @@ void PrintInstanceInfo::executeTask() + cline++; + } + } ++#elif defined(Q_OS_FREEBSD) ++ ++ std::string strcard; ++ ++ FILE *fp3 = popen("sysctl hw.model", "r"); ++ if (fp3 != NULL) ++ { ++ fgets(buff, 512, fp3); ++ std::string str(buff); ++ QStringList clines = (QStringList() << QString::fromStdString(str.substr(10, std::string::npos))); ++ logLines(clines, MessageLevel::MultiMC); ++ } ++ ++ FILE *fp4 = popen("pciconf -lv -a vgapci0", "r"); ++ if (fp4 != NULL) ++ { ++ while (fgets(buff, 512, fp4) != NULL) ++ { ++ if (strncmp(buff, " vendor", 10) == 0) ++ { ++ std::string str(buff); ++ strcard.append(str.substr(str.find_first_of("'") + 1, str.find_last_not_of("'") - (str.find_first_of("'") + 2))); ++ strcard.append(" "); ++ } ++ else if (strncmp(buff, " device", 10) == 0) ++ { ++ std::string str2(buff); ++ strcard.append(str2.substr(str2.find_first_of("'") + 1, str2.find_last_not_of("'") - (str2.find_first_of("'") + 2))); ++ QStringList glines = (QStringList() << QString::fromStdString(strcard)); ++ logLines(glines, MessageLevel::MultiMC); ++ } ++ } ++ } ++#endif + + FILE *fp2 = popen("glxinfo", "r"); + if (fp2 != NULL) diff --git a/games/multimc/files/patch-api_logic_minecraft_update_FMLLibrariesTask.h b/games/multimc/files/patch-api_logic_minecraft_update_FMLLibrariesTask.h new file mode 100644 index 000000000000..96c79debe10a --- /dev/null +++ b/games/multimc/files/patch-api_logic_minecraft_update_FMLLibrariesTask.h @@ -0,0 +1,10 @@ +--- api/logic/minecraft/update/FMLLibrariesTask.h.orig 2018-06-03 04:17:36 UTC ++++ api/logic/minecraft/update/FMLLibrariesTask.h +@@ -1,6 +1,7 @@ + #pragma once + #include "tasks/Task.h" + #include "net/NetJob.h" ++#include "minecraft/VersionFilterData.h" + class MinecraftInstance; + + class FMLLibrariesTask : public Task diff --git a/games/multimc/files/patch-application_CMakeLists.txt b/games/multimc/files/patch-application_CMakeLists.txt new file mode 100644 index 000000000000..4ccfd7ec9938 --- /dev/null +++ b/games/multimc/files/patch-application_CMakeLists.txt @@ -0,0 +1,31 @@ +--- application/CMakeLists.txt.orig 2017-12-18 00:19:43 UTC ++++ application/CMakeLists.txt +@@ -27,11 +27,11 @@ set(MultiMC_PASTE_EE_API_KEY "" CACHE ST + set(MultiMC_ANALYTICS_ID "" CACHE STRING "ID you can get from Google analytics") + + #### Check the current Git commit and branch +-include(GetGitRevisionDescription) +-get_git_head_revision(MultiMC_GIT_REFSPEC MultiMC_GIT_COMMIT) ++#include(GetGitRevisionDescription) ++#get_git_head_revision(MultiMC_GIT_REFSPEC MultiMC_GIT_COMMIT) + +-message(STATUS "Git commit: ${MultiMC_GIT_COMMIT}") +-message(STATUS "Git refspec: ${MultiMC_GIT_REFSPEC}") ++#message(STATUS "Git commit: ${MultiMC_GIT_COMMIT}") ++#message(STATUS "Git refspec: ${MultiMC_GIT_REFSPEC}") + + set(MultiMC_RELEASE_VERSION_NAME "${MultiMC_VERSION_MAJOR}.${MultiMC_VERSION_MINOR}.${MultiMC_VERSION_HOTFIX}") + +@@ -390,9 +390,9 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin + install(PROGRAMS package/linux/MultiMC DESTINATION ${BUNDLE_DEST_DIR}) + + elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-system") +- set(MultiMC_BINARY_DEST_DIR "usr/bin" CACHE STRING "Relative path from packaging root to the binary directory") +- set(MultiMC_LIBRARY_DEST_DIR "usr/lib" CACHE STRING "Relative path from packaging root to the library directory") +- set(MultiMC_SHARE_DEST_DIR "usr/share/multimc" CACHE STRING "Relative path from packaging root to the shared data directory") ++ set(MultiMC_BINARY_DEST_DIR "usr/local/bin" CACHE STRING "Relative path from packaging root to the binary directory") ++ set(MultiMC_LIBRARY_DEST_DIR "usr/local/lib" CACHE STRING "Relative path from packaging root to the library directory") ++ set(MultiMC_SHARE_DEST_DIR "usr/local/share/multimc" CACHE STRING "Relative path from packaging root to the shared data directory") + set(MultiMC_APP_BINARY_NAME "multimc" CACHE STRING "Name of the MultiMC binary for the purposes of linux packaging") + set(JARS_DEST_DIR "${MultiMC_SHARE_DEST_DIR}") + diff --git a/games/multimc/files/patch-application_MultiMC.cpp b/games/multimc/files/patch-application_MultiMC.cpp new file mode 100644 index 000000000000..e32533502b33 --- /dev/null +++ b/games/multimc/files/patch-application_MultiMC.cpp @@ -0,0 +1,11 @@ +--- application/MultiMC.cpp.orig 2017-12-18 00:19:43 UTC ++++ application/MultiMC.cpp +@@ -322,7 +322,7 @@ MultiMC::MultiMC(int &argc, char **argv) + // Set up paths + { + // Root path is used for updates. +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + QDir foo(FS::PathCombine(binPath, "..")); + m_rootPath = foo.absolutePath(); + #elif defined(Q_OS_WIN32) diff --git a/games/multimc/files/patch-application_UpdateController.cpp b/games/multimc/files/patch-application_UpdateController.cpp new file mode 100644 index 000000000000..23ab48050a8a --- /dev/null +++ b/games/multimc/files/patch-application_UpdateController.cpp @@ -0,0 +1,11 @@ +--- application/UpdateController.cpp.orig 2017-12-18 00:19:43 UTC ++++ application/UpdateController.cpp +@@ -90,7 +90,7 @@ void UpdateController::installUpdates() + qDebug() << "Installing updates."; + #ifdef Q_OS_WIN + QString finishCmd = QApplication::applicationFilePath(); +-#elif defined Q_OS_LINUX ++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + QString finishCmd = FS::PathCombine(m_root, "MultiMC"); + #elif defined Q_OS_MAC + QString finishCmd = QApplication::applicationFilePath(); diff --git a/games/multimc/files/patch-application_install__prereqs.cmake.in b/games/multimc/files/patch-application_install__prereqs.cmake.in new file mode 100644 index 000000000000..7090e58efbb7 --- /dev/null +++ b/games/multimc/files/patch-application_install__prereqs.cmake.in @@ -0,0 +1,8 @@ +--- application/install_prereqs.cmake.in.orig 2017-12-18 00:19:43 UTC ++++ application/install_prereqs.cmake.in +@@ -23,5 +23,4 @@ set(gp_cmd_paths ${gp_cmd_paths} + ) + + include(BundleUtilities) +-fixup_bundle("@APPS@" "${QTPLUGINS}" "@DIRS@") + diff --git a/games/multimc/files/patch-libraries_iconfix_internal_qiconloader.cpp b/games/multimc/files/patch-libraries_iconfix_internal_qiconloader.cpp new file mode 100644 index 000000000000..28bd762a59f8 --- /dev/null +++ b/games/multimc/files/patch-libraries_iconfix_internal_qiconloader.cpp @@ -0,0 +1,11 @@ +--- libraries/iconfix/internal/qiconloader.cpp.orig 2017-12-18 00:19:43 UTC ++++ libraries/iconfix/internal/qiconloader.cpp +@@ -320,7 +320,7 @@ Description: Make it so that the QIcon l + icon theme specification. + Bug: https://bugreports.qt.nokia.com/browse/QTBUG-12874 + *********************************************************************/ +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + /* Freedesktop standard says to look in /usr/share/pixmaps last */ + if (entries.isEmpty()) + { diff --git a/games/multimc/files/patch-libraries_systeminfo_src_sys__unix.cpp b/games/multimc/files/patch-libraries_systeminfo_src_sys__unix.cpp new file mode 100644 index 000000000000..81f6d8107d58 --- /dev/null +++ b/games/multimc/files/patch-libraries_systeminfo_src_sys__unix.cpp @@ -0,0 +1,41 @@ +--- libraries/systeminfo/src/sys_unix.cpp.orig 2017-12-18 00:19:43 UTC ++++ libraries/systeminfo/src/sys_unix.cpp +@@ -16,6 +16,7 @@ Sys::KernelInfo Sys::getKernelInfo() + uint64_t Sys::getSystemRam() + { + std::string token; ++ #ifdef Q_OS_LINUX + std::ifstream file("/proc/meminfo"); + while(file >> token) + { +@@ -34,6 +35,19 @@ uint64_t Sys::getSystemRam() + // ignore rest of the line + file.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); + } ++ #elif defined Q_OS_FREEBSD ++ char buff[512]; ++ FILE *fp = popen("sysctl hw.physmem", "r"); ++ if (fp != NULL) ++ { ++ while(fgets(buff, 512, fp) != NULL) ++ { ++ std::string str(buff); ++ uint64_t mem = std::stoull(str.substr(12, std::string::npos)); ++ return mem * 1024ull; ++ } ++ } ++ #endif + return 0; // nothing found + } + +@@ -43,7 +57,9 @@ bool Sys::isCPU64bit() + } + + bool Sys::isSystem64bit() +-{ ++{ ++ #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + // kernel build arch on linux + return QSysInfo::currentCpuArchitecture() == "x86_64"; ++ #endif + } diff --git a/games/multimc/pkg-descr b/games/multimc/pkg-descr new file mode 100644 index 000000000000..1142e14193c5 --- /dev/null +++ b/games/multimc/pkg-descr @@ -0,0 +1,5 @@ +MultiMC is a custom launcher for Minecraft that allows you to easily +manage multiple installations of Minecraft at once. It also allows +you to easily install and remove mods by simply dragging and dropping. + +WWW: https://multimc.org diff --git a/games/multimc/pkg-plist b/games/multimc/pkg-plist new file mode 100644 index 000000000000..3b4048f079ff --- /dev/null +++ b/games/multimc/pkg-plist @@ -0,0 +1,10 @@ +bin/multimc +lib/libMultiMC_gui.so +lib/libMultiMC_iconfix.so +lib/libMultiMC_logic.so +lib/libMultiMC_nbt++.so +lib/libMultiMC_quazip.so +lib/libMultiMC_rainbow.so +lib/libMultiMC_unpack200.so +%%DATADIR%%/jars/JavaCheck.jar +%%DATADIR%%/jars/NewLaunch.jar |