Hi ports@,

This email contains a diff to update games/multimc 0.6.12 to games/blockgame 0.6.14.

The name is changed from games/multimc to games/blockgame due to MultiMC's new guidelines for unofficial builds[1].

This new version introduces the long awaited support for Microsoft/Xbox accounts. I have tested it with both my Xbox account which has Xbox Game Pass membership and my unmigrated Mojang account.

The Java version is now changed from Java 11 to Java 17 due to the strict version requirements introduced by Minecraft 1.17. The README contains information on how to play older versions which may not work with Java 17 and Blockgame now has proper Java installation detection for OpenBSD to make the process much easier.

Lastly, due to the name change, a manual migration step is needed after installation which is detailed in the README.

OK?

Thanks,
Yuki

---

diff --git a/games/blockgame/Makefile b/games/blockgame/Makefile
new file mode 100644
index 0000000..98ff843
--- /dev/null
+++ b/games/blockgame/Makefile
@@ -0,0 +1,36 @@
+# $OpenBSD$
+
+COMMENT =              free and open-source launcher for Minecraft
+
+
+V =                    0.6.14
+DISTNAME =             blockgame-${V}
+MASTER_SITES = https://github.com/yukiisbored/Launcher/releases/download/${V}-bgl/
+
+CATEGORIES =           games
+
+HOMEPAGE =             https://github.com/yukiisbored/Launcher
+
+MAINTAINER =           Muhammad Kaisar Arkhan <h...@yukiisbo.red>
+
+# Apache 2.0
+PERMIT_PACKAGE =       Yes
+
+WANTLIB +=             ${COMPILER_LIBCXX} Qt5Concurrent Qt5Core Qt5Gui
+WANTLIB +=             Qt5Network Qt5Widgets Qt5Xml c m z
+
+MODULES =              devel/cmake \
+                       x11/qt5 \
+                       java
+MODJAVA_VER =          17
+
+RUN_DEPENDS =          audio/openal \
+                       games/lwjgl3
+
+CONFIGURE_ARGS = -DBGL_MSA_CLIENT_ID="4337e89c-ef12-4ff0-8aff-39adfc5a8e77" \
+                       -DBGL_SYSTEM_LWJGL2_PATH="${LOCALBASE}/share/lwjgl/" \
+                       -DBGL_SYSTEM_LWJGL3_PATH="${LOCALBASE}/share/lwjgl3/"
+
+WRKDIST =              ${WRKDIR}/Launcher
+
+.include <bsd.port.mk>
diff --git a/games/blockgame/distinfo b/games/blockgame/distinfo
new file mode 100644
index 0000000..c000685
--- /dev/null
+++ b/games/blockgame/distinfo
@@ -0,0 +1,2 @@
+SHA256 (blockgame-0.6.14.tar.gz) = j4UKK7Od1ZyD695Src+vRLmxyUw+cEa6gj6knF87vtk=
+SIZE (blockgame-0.6.14.tar.gz) = 19191178
diff --git a/games/blockgame/patches/patch-libraries_javacheck_CMakeLists_txt b/games/blockgame/patches/patch-libraries_javacheck_CMakeLists_txt
new file mode 100644
index 0000000..864a39c
--- /dev/null
+++ b/games/blockgame/patches/patch-libraries_javacheck_CMakeLists_txt
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+Index: libraries/javacheck/CMakeLists.txt
+--- libraries/javacheck/CMakeLists.txt.orig
++++ libraries/javacheck/CMakeLists.txt
+@@ -1,10 +1,10 @@
+ cmake_minimum_required(VERSION 3.1)
+ project(launcher Java)
+-find_package(Java 1.6 REQUIRED COMPONENTS Development)
++find_package(Java 1.8 REQUIRED COMPONENTS Development)
+
+ include(UseJava)
+ set(CMAKE_JAVA_JAR_ENTRY_POINT JavaCheck)
+-set(CMAKE_JAVA_COMPILE_FLAGS -target 1.6 -source 1.6 -Xlint:deprecation -Xlint:unchecked) ++set(CMAKE_JAVA_COMPILE_FLAGS -target 1.8 -source 1.8 -Xlint:deprecation -Xlint:unchecked)
+
+ set(SRC
+     JavaCheck.java
diff --git a/games/blockgame/patches/patch-libraries_launcher_CMakeLists_txt b/games/blockgame/patches/patch-libraries_launcher_CMakeLists_txt
new file mode 100644
index 0000000..e7f0b3d
--- /dev/null
+++ b/games/blockgame/patches/patch-libraries_launcher_CMakeLists_txt
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+Index: libraries/launcher/CMakeLists.txt
+--- libraries/launcher/CMakeLists.txt.orig
++++ libraries/launcher/CMakeLists.txt
+@@ -1,10 +1,10 @@
+ cmake_minimum_required(VERSION 3.1)
+ project(launcher Java)
+-find_package(Java 1.6 REQUIRED COMPONENTS Development)
++find_package(Java 1.8 REQUIRED COMPONENTS Development)
+
+ include(UseJava)
+ set(CMAKE_JAVA_JAR_ENTRY_POINT org.multimc.EntryPoint)
+-set(CMAKE_JAVA_COMPILE_FLAGS -target 1.6 -source 1.6 -Xlint:deprecation -Xlint:unchecked) ++set(CMAKE_JAVA_COMPILE_FLAGS -target 1.8 -source 1.8 -Xlint:deprecation -Xlint:unchecked)
+
+ set(SRC
+     org/multimc/EntryPoint.java
diff --git a/games/multimc/pkg/DESCR b/games/blockgame/pkg/DESCR
similarity index 62%
rename from games/multimc/pkg/DESCR
rename to games/blockgame/pkg/DESCR
index 661f3f8..90ea244 100644
--- a/games/multimc/pkg/DESCR
+++ b/games/blockgame/pkg/DESCR
@@ -1,4 +1,6 @@
-MultiMC is a free, open source launcher for Minecraft. It allows you
+Blockgame is a free, open source launcher for Minecraft. It allows you
 to have multiple, cleanly separated instances of Minecraft (each with
 their own mods, texture packs, saves, etc) and helps you manage them
 and their associated options with a simple and powerful interface.
+
+Blockgame is a fork of MultiMC: https://multimc.org.
diff --git a/games/blockgame/pkg/PLIST b/games/blockgame/pkg/PLIST
new file mode 100644
index 0000000..d90f485
--- /dev/null
+++ b/games/blockgame/pkg/PLIST
@@ -0,0 +1,11 @@
+@comment $OpenBSD$
+@bin bin/Blockgame
+@so lib/libLauncher_iconfix.so
+@so lib/libLauncher_nbt++.so
+@so lib/libLauncher_quazip.so
+@so lib/libLauncher_rainbow.so
+share/bgl/
+share/bgl/jars/
+share/bgl/jars/JavaCheck.jar
+share/bgl/jars/NewLaunch.jar
+share/doc/pkg-readmes/${PKGSTEM}
diff --git a/games/blockgame/pkg/README b/games/blockgame/pkg/README
new file mode 100644
index 0000000..31a1d31
--- /dev/null
+++ b/games/blockgame/pkg/README
@@ -0,0 +1,53 @@
+$OpenBSD$
+
++-------------------------------------------------------------------------------
+| Running games/blockgame on OpenBSD
++-------------------------------------------------------------------------------
+
+Minecraft and Java compatibility
+================================
+
+Starting with Minecraft 1.13, Minecraft recommends using newer
+versions of the Java runtime instead of Java 1.8.
+
+However, it is important to note that older versions of Minecraft
+(especially with mods) will not play well with the latest version of
+Java.
+
+By default, games/blockgame is configured to play the latest version
+of Minecraft (use games/lwjgl3 and devel/jdk%17 as runtime dependencies).
+
+Running older versions of Minecraft
+-----------------------------------
+
+- For Minecraft <= 1.12.2, use Java 1.8 and make sure LWJGL 2 is
+  installed.
+
+  # pkg_add jdk%1.8 lwjgl
+
+- While Minecraft 1.13 - 1.16.5 can run on newer versions, mod loaders
+  are known to be broken on versions newer than 11:
+
+  # pkg_add jdk%11
+
+- Since Minecraft 1.17, it is required to use the latest version of
+  Java.
+
+Change Java installation for a Minecraft instance
+-------------------------------------------------
+
+1. Right click the instance and select "Edit Instance".
+2. Go to "Settings" and click on "Auto-detect..." under "Java
+   installation".
+3. Select which version of Java you want to use.
+
+Migrating from MultiMC to Blockgame
+===================================
+
+Due to the name change, Blockgame data directory is changed to
+~/.local/share/Blockgame.
+
+To migrate your existing MultiMC instances to Blockgame, simply move
+~/.local/share/multimc to ~/.local/share/Blockgame.
+
+$ mv ~/.local/share/multimc ~/.local/share/Blockgame
diff --git a/games/multimc/Makefile b/games/multimc/Makefile
deleted file mode 100644
index cce4555..0000000
--- a/games/multimc/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# $OpenBSD: Makefile,v 1.3 2021/03/05 21:03:50 phessler Exp $
-
-COMMENT =              free and open-source launcher for Minecraft
-
-# git clone --recurse-submodules -b 0.6.12 https://github.com/MultiMC/MultiMC5
-DISTNAME =             multimc-0.6.12
-MASTER_SITES =         https://distfiles.yukiisbo.red/
-
-CATEGORIES =           games
-
-HOMEPAGE =             https://multimc.org
-
-MAINTAINER =           Muhammad Kaisar Arkhan <h...@yukiisbo.red>
-
-# Apache 2.0
-PERMIT_PACKAGE =       Yes
-
-WANTLIB +=             ${COMPILER_LIBCXX} Qt5Concurrent Qt5Core Qt5Gui
-WANTLIB +=             Qt5Network Qt5Widgets Qt5Xml c m z
-
-MODULES =              devel/cmake \
-                       x11/qt5 \
-                       java
-MODJAVA_VER =          11
-
-RUN_DEPENDS =          audio/openal \
-                       games/lwjgl3 \
-                       java/javaPathHelper
-
-# Keep lwjgl directory for the optional dependency
-CXXFLAGS +=    -DLWJGL_DIR='\"${LOCALBASE}/share/lwjgl/\"' \
-               -DLWJGL3_DIR='\"${LOCALBASE}/share/lwjgl3/\"' \
-               -DJAVAPATHHELPER_PATH='\"${LOCALBASE}/bin/javaPathHelper\"'
-
-CONFIGURE_ARGS =       -DMultiMC_LAYOUT="lin-system"
-
-WRKDIST =              ${WRKDIR}/MultiMC5
-
-.include <bsd.port.mk>
diff --git a/games/multimc/distinfo b/games/multimc/distinfo
deleted file mode 100644
index 14b410d..0000000
--- a/games/multimc/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (multimc-0.6.12.tar.gz) = eCGKXTDZ94EnWg2LL3CZorwmRebD0vz86KusBDj3oiI=
-SIZE (multimc-0.6.12.tar.gz) = 16844226
diff --git a/games/multimc/patches/patch-api_gui_DesktopServices_cpp b/games/multimc/patches/patch-api_gui_DesktopServices_cpp
deleted file mode 100644
index c78e568..0000000
--- a/games/multimc/patches/patch-api_gui_DesktopServices_cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-$OpenBSD: patch-api_gui_DesktopServices_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: api/gui/DesktopServices.cpp
---- api/gui/DesktopServices.cpp.orig
-+++ 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_OPENBSD)
-
- #include <unistd.h>
- #include <errno.h>
-@@ -83,7 +83,7 @@ bool openDirectory(const QString &path, bool ensureExi
-     {
- return QDesktopServices::openUrl(QUrl::fromLocalFile(dir.absolutePath()));
-     };
--#if defined(Q_OS_LINUX)
-+#if defined(Q_OS_LINUX) || defined(Q_OS_OPENBSD)
-     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_OPENBSD)
-     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_OPENBSD)
- // 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, const QStrin
- 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_OPENBSD)
- // 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_OPENBSD)
-     return IndirectOpen(f);
- #else
-     return f();
diff --git a/games/multimc/patches/patch-api_logic_CMakeLists_txt b/games/multimc/patches/patch-api_logic_CMakeLists_txt
deleted file mode 100644
index 94b8e97..0000000
--- a/games/multimc/patches/patch-api_logic_CMakeLists_txt
+++ /dev/null
@@ -1,14 +0,0 @@
-$OpenBSD: patch-api_logic_CMakeLists_txt,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/CMakeLists.txt
---- api/logic/CMakeLists.txt.orig
-+++ api/logic/CMakeLists.txt
-@@ -134,6 +134,8 @@ set(LAUNCH_SOURCES
-     launch/steps/TextPrint.h
-     launch/steps/Update.cpp
-     launch/steps/Update.h
-+    launch/steps/PatchLWJGL.h
-+    launch/steps/PatchLWJGL.cpp
-     launch/LaunchStep.cpp
-     launch/LaunchStep.h
-     launch/LaunchTask.cpp
diff --git a/games/multimc/patches/patch-api_logic_FileSystem_cpp b/games/multimc/patches/patch-api_logic_FileSystem_cpp
deleted file mode 100644
index 9be5aae..0000000
--- a/games/multimc/patches/patch-api_logic_FileSystem_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-$OpenBSD: patch-api_logic_FileSystem_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: api/logic/FileSystem.cpp
---- api/logic/FileSystem.cpp.orig
-+++ api/logic/FileSystem.cpp
-@@ -403,7 +403,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_OPENBSD)
-     location = PathCombine(location, name + ".desktop");
-
-     QFile f(location);
diff --git a/games/multimc/patches/patch-api_logic_FileSystem_test_cpp b/games/multimc/patches/patch-api_logic_FileSystem_test_cpp
deleted file mode 100644
index 1d213c4..0000000
--- a/games/multimc/patches/patch-api_logic_FileSystem_test_cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-$OpenBSD: patch-api_logic_FileSystem_test_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: api/logic/FileSystem_test.cpp
---- api/logic/FileSystem_test.cpp.orig
-+++ 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_OPENBSD)
-     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_OPENBSD)
- << MULTIMC_GET_TEST_FILE("data/FileSystem-test_createShortcut-unix")
-                          #elif defined(Q_OS_WIN)
-                               << QByteArray()
diff --git a/games/multimc/patches/patch-api_logic_java_JavaUtils_cpp b/games/multimc/patches/patch-api_logic_java_JavaUtils_cpp
deleted file mode 100644
index 6124b36..0000000
--- a/games/multimc/patches/patch-api_logic_java_JavaUtils_cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-$OpenBSD: patch-api_logic_java_JavaUtils_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: api/logic/java/JavaUtils.cpp
---- api/logic/java/JavaUtils.cpp.orig
-+++ api/logic/java/JavaUtils.cpp
-@@ -31,7 +31,7 @@ JavaUtils::JavaUtils()
- {
- }
-
--#ifdef Q_OS_LINUX
-+#if defined(Q_OS_LINUX) || defined(Q_OS_OPENBSD)
- static QString processLD_LIBRARY_PATH(const QString & LD_LIBRARY_PATH)
- {
-     QDir mmcBin(QCoreApplication::applicationDirPath());
-@@ -83,7 +83,7 @@ QProcessEnvironment CleanEnviroment()
-             qDebug() << "Env: ignoring" << key << value;
-             continue;
-         }
--#ifdef Q_OS_LINUX
-+#if defined(Q_OS_LINUX) || defined(Q_OS_OPENBSD)
- // Do not pass LD_* variables to java. They were intended for MultiMC
-         if(key.startsWith("LD_"))
-         {
-@@ -112,7 +112,7 @@ QProcessEnvironment CleanEnviroment()
-         // qDebug() << "Env: " << key << value;
-         env.insert(key, value);
-     }
--#ifdef Q_OS_LINUX
-+#if defined(Q_OS_LINUX) || defined(Q_OS_OPENBSD)
-     // HACK: Workaround for QTBUG42500
-     if(!env.contains("LD_LIBRARY_PATH"))
-     {
diff --git a/games/multimc/patches/patch-api_logic_launch_steps_PatchLWJGL_cpp b/games/multimc/patches/patch-api_logic_launch_steps_PatchLWJGL_cpp
deleted file mode 100644
index 93a212a..0000000
--- a/games/multimc/patches/patch-api_logic_launch_steps_PatchLWJGL_cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-$OpenBSD: patch-api_logic_launch_steps_PatchLWJGL_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/launch/steps/PatchLWJGL.cpp
---- api/logic/launch/steps/PatchLWJGL.cpp.orig
-+++ api/logic/launch/steps/PatchLWJGL.cpp
-@@ -0,0 +1,146 @@
-+/* Copyright 2013-2019 MultiMC Contributors
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ *     http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+#include "PatchLWJGL.h"
-+#include <launch/LaunchTask.h>
-+#include <minecraft/OneSixVersionFormat.h>
-+#include <QSaveFile>
-+
-+void PatchLWJGL::executeTask()
-+{
-+    qDebug() << "Patching instance's LWJGL to use system libraries.";
-+
-+    auto component = m_components->getComponent("org.lwjgl3");
-+    bool isLwjgl3 = true;
-+
-+    if (component == nullptr) {
-+      component = m_components->getComponent("org.lwjgl");
-+
-+      if (component == nullptr) {
-+ emitFailed(tr("Failed to find LWJGL component for this Minecraft instance."));
-+        return;
-+      }
-+
-+      isLwjgl3 = false;
-+    }
-+
-+    qDebug() << "Checking if instance's LWJGL is customized";
-+
-+    if (component->customize())
-+    {
-+        qDebug() << "Instance's LWJGL is not customized, will patch.";
-+
-+        auto vfile = component->getVersionFile();
-+        vfile->version = "System";
-+        vfile->libraries = QList<LibraryPtr>();
-+
-+        if (isLwjgl3)
-+        {
-+ qDebug() << "Instance uses LWJGL 3, applying appropiate patches.";
-+
-+            QList<QString> libs = {
-+              "lwjgl-glfw", "lwjgl-openal", "lwjgl-opengl",
-+              "lwjgl-stb", "lwjgl-tinyfd", "lwjgl"
-+            };
-+
-+            QList<QString> nativeLibs = {
-+              "lwjgl-opengl", "lwjgl-stb", "lwjgl-tinyfd", "lwjgl"
-+            };
-+
-+            for (auto &libName : libs)
-+            {
-+                LibraryPtr lib(new Library());
-+                lib->setHint("local");
-+                lib->setPath(LWJGL3_DIR + libName + ".jar");
-+ lib->setRawName(GradleSpecifier("org.lwjgl:" + libName + ":system"));
-+                vfile->libraries.append(lib);
-+            }
-+
-+
-+            for (auto &libName : nativeLibs)
-+            {
-+                LibraryPtr lib(new Library());
-+                lib->setHint("local");
-+ lib->setPath(LWJGL3_DIR + libName + "-natives-openbsd.jar"); -+ lib->setRawName(GradleSpecifier("org.lwjgl:" + libName + ":system"));
-+                lib->setNative(true);
-+                vfile->libraries.append(lib);
-+            }
-+        } else {
-+ qDebug() << "Instance uses LWJGL 2, applying appropiate patches.";
-+
-+            QString lwjglDir(LWJGL_DIR);
-+
-+            LibraryPtr jinput(new Library());
-+            jinput->setHint("local");
-+            jinput->setPath(lwjglDir + "jinput.jar");
-+ jinput->setRawName(GradleSpecifier("net.java.jinput:jinput:system"));
-+            vfile->libraries.append(jinput);
-+
-+            LibraryPtr lwjgl(new Library());
-+            lwjgl->setHint("local");
-+            lwjgl->setPath(lwjglDir + "lwjgl.jar");
-+ lwjgl->setRawName(GradleSpecifier("org.lwjgl.lwjgl:lwjgl:system"));
-+            vfile->libraries.append(lwjgl);
-+
-+            LibraryPtr lwjglUtil(new Library());
-+            lwjglUtil->setHint("local");
-+            lwjglUtil->setPath(lwjglDir + "lwjgl_util.jar");
-+ lwjglUtil->setRawName(GradleSpecifier("org.lwjgl.lwjgl:lwjgl_util:system"));
-+            vfile->libraries.append(lwjglUtil);
-+        }
-+
-+        qDebug() << "Writing patch file.";
-+
-+        auto filename = component->getFilename();
-+        auto document = OneSixVersionFormat::versionFileToJson(vfile);
-+
-+        QSaveFile jsonFile(filename);
-+        if(!jsonFile.open(QIODevice::WriteOnly))
-+        {
-+            emitFailed(tr("Failed to open patch file for writing."));
-+            return;
-+        }
-+
-+        jsonFile.write(document.toJson());
-+        if (!jsonFile.commit())
-+        {
-+            emitFailed(tr("Failed to commit patch file."));
-+            return;
-+        }
-+
-+        qDebug() << "Reloading instance's component list.";
-+
-+        m_components->reload(m_mode);
-+
-+        qDebug() << "Instance should now the system-wide LWJGL library!";
-+    }
-+    else
-+    {
-+ qDebug() << "Instance's LWJGL is customized/patched, leaving it as-is.";
-+    }
-+
-+    emitSucceeded();
-+}
-+
-+bool PatchLWJGL::canAbort() const
-+{
-+    return false;
-+}
-+
-+bool PatchLWJGL::abort()
-+{
-+    return false;
-+}
diff --git a/games/multimc/patches/patch-api_logic_launch_steps_PatchLWJGL_h b/games/multimc/patches/patch-api_logic_launch_steps_PatchLWJGL_h
deleted file mode 100644
index 29a870e..0000000
--- a/games/multimc/patches/patch-api_logic_launch_steps_PatchLWJGL_h
+++ /dev/null
@@ -1,46 +0,0 @@
-$OpenBSD: patch-api_logic_launch_steps_PatchLWJGL_h,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/launch/steps/PatchLWJGL.h
---- api/logic/launch/steps/PatchLWJGL.h.orig
-+++ api/logic/launch/steps/PatchLWJGL.h
-@@ -0,0 +1,40 @@
-+/* Copyright 2013-2019 MultiMC Contributors
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ *     http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+#pragma once
-+
-+#include <launch/LaunchStep.h>
-+#include <minecraft/PackProfile.h>
-+#include <net/Mode.h>
-+
-+#include "multimc_logic_export.h"
-+
-+class MULTIMC_LOGIC_EXPORT PatchLWJGL: public LaunchStep
-+{
-+    Q_OBJECT
-+public:
-+ explicit PatchLWJGL(LaunchTask *parent, Net::Mode mode, std::shared_ptr<PackProfile> components): LaunchStep(parent), m_mode(mode) {
-+        m_components = components;
-+    };
-+    virtual ~PatchLWJGL(){};
-+
-+    virtual void executeTask();
-+    virtual bool canAbort() const;
-+    virtual bool abort();
-+
-+private:
-+    std::shared_ptr<PackProfile> m_components;
-+    Net::Mode m_mode = Net::Mode::Offline;
-+};
diff --git a/games/multimc/patches/patch-api_logic_minecraft_ComponentUpdateTask_cpp b/games/multimc/patches/patch-api_logic_minecraft_ComponentUpdateTask_cpp
deleted file mode 100644
index 752ea0b..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_ComponentUpdateTask_cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_ComponentUpdateTask_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/ComponentUpdateTask.cpp
---- api/logic/minecraft/ComponentUpdateTask.cpp.orig
-+++ api/logic/minecraft/ComponentUpdateTask.cpp
-@@ -482,12 +482,24 @@ static bool getTrivialComponentChanges(const Component
-                 toAdd.insert(req);
-                 break;
-             case Decision::VersionNotSame:
-- qDebug() << reqStr << "already has different version that can be changed.";
--                toChange.insert(req);
-+                if(req.uid == "org.lwjgl3" || req.uid == "org.lwjgl") {
-+ qDebug() << reqStr << "is a different version than required but is a platform-specific override.";
-+                }
-+                else
-+                {
-+ qDebug() << reqStr << "already has different version that can be changed.";
-+                    toChange.insert(req);
-+                }
-                 break;
-             case Decision::LockedVersionNotSame:
-- qDebug() << reqStr << "already has different version that cannot be changed.";
--                succeeded = false;
-+                if(req.uid == "org.lwjgl3" || req.uid == "org.lwjgl") {
-+ qDebug() << reqStr << "is a different version than required but is a platform-specific override.";
-+                }
-+                else
-+                {
-+ qDebug() << reqStr << "already has different version that cannot be changed.";
-+                    succeeded = false;
-+                }
-                 break;
-         }
-     }
diff --git a/games/multimc/patches/patch-api_logic_minecraft_Library_cpp b/games/multimc/patches/patch-api_logic_minecraft_Library_cpp
deleted file mode 100644
index 406a976..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_Library_cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_Library_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/Library.cpp
---- api/logic/minecraft/Library.cpp.orig
-+++ api/logic/minecraft/Library.cpp
-@@ -14,6 +14,12 @@ void Library::getApplicableFiles(OpSys system, QString
-     bool local = isLocal();
-     auto actualPath = [&](QString relPath)
-     {
-+        if(!m_path.isEmpty())
-+        {
-+            QFileInfo out(m_path);
-+            return out.absoluteFilePath();
-+        }
-+
-         QFileInfo out(FS::PathCombine(storagePrefix(), relPath));
-         if(local && !overridePath.isEmpty())
-         {
-@@ -61,6 +67,11 @@ QList< std::shared_ptr< NetAction > > Library::getDown
-         QFileInfo fileinfo(storage);
-         QString fileName = fileinfo.fileName();
-         auto fullPath = FS::PathCombine(overridePath, fileName);
-+
-+        if (!m_path.isEmpty()) {
-+            fullPath = m_path;
-+        }
-+
-         QFileInfo localFileInfo(fullPath);
-         if(!localFileInfo.exists())
-         {
-@@ -228,7 +239,7 @@ bool Library::isActive() const
-     }
-     if (isNative())
-     {
--        result = result && m_nativeClassifiers.contains(currentSystem);
-+ result = result && (m_nativeClassifiers.contains(currentSystem) || m_isNative);
-     }
-     return result;
- }
diff --git a/games/multimc/patches/patch-api_logic_minecraft_Library_h b/games/multimc/patches/patch-api_logic_minecraft_Library_h
deleted file mode 100644
index c8b448d..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_Library_h
+++ /dev/null
@@ -1,55 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_Library_h,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/Library.h
---- api/logic/minecraft/Library.h.orig
-+++ api/logic/minecraft/Library.h
-@@ -42,6 +42,8 @@ class MULTIMC_LOGIC_EXPORT Library (public)
-         newlib->m_name = base->m_name;
-         newlib->m_repositoryURL = base->m_repositoryURL;
-         newlib->m_hint = base->m_hint;
-+        newlib->m_path = base->m_path;
-+        newlib->m_isNative = base->m_isNative;
-         newlib->m_absoluteURL = base->m_absoluteURL;
-         newlib->m_extractExcludes = base->m_extractExcludes;
-         newlib->m_nativeClassifiers = base->m_nativeClassifiers;
-@@ -90,9 +92,14 @@ class MULTIMC_LOGIC_EXPORT Library (public)
-     /// Returns true if the library is native
-     bool isNative() const
-     {
--        return m_nativeClassifiers.size() != 0;
-+        return m_nativeClassifiers.size() != 0 || m_isNative;
-     }
-
-+    /// Set isNative override
-+    void setNative(bool native) {
-+        m_isNative = native;
-+    }
-+
-     void setStoragePrefix(QString prefix = QString());
-
-     /// Set the url base for downloads
-@@ -136,6 +143,11 @@ class MULTIMC_LOGIC_EXPORT Library (public)
-         m_hint = hint;
-     }
-
-+    void setPath(const QString &path)
-+    {
-+        m_path = path;
-+    }
-+
-     /// Set the load rules
-     void setRules(QList<std::shared_ptr<Rule>> rules)
-     {
-@@ -193,6 +205,12 @@ class MULTIMC_LOGIC_EXPORT Library (public)
-      * MultiMC-specific type hint - modifies how the library is treated
-      */
-     QString m_hint;
-+
-+    /// MultiMC extension - path override
-+    QString m_path;
-+
-+    /// MultiMC extension - isNative override
-+    bool m_isNative = false;
-
-     /**
- * storage - by default the local libraries folder in multimc, but could be elsewhere diff --git a/games/multimc/patches/patch-api_logic_minecraft_MinecraftInstance_cpp b/games/multimc/patches/patch-api_logic_minecraft_MinecraftInstance_cpp
deleted file mode 100644
index 140623c..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_MinecraftInstance_cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_MinecraftInstance_cpp,v 1.2 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/MinecraftInstance.cpp
---- api/logic/minecraft/MinecraftInstance.cpp.orig
-+++ api/logic/minecraft/MinecraftInstance.cpp
-@@ -16,6 +16,9 @@
- #include "launch/steps/Update.h"
- #include "launch/steps/PreLaunchCommand.h"
- #include "launch/steps/TextPrint.h"
-+#ifdef Q_OS_OPENBSD
-+#include "launch/steps/PatchLWJGL.h"
-+#endif
- #include "minecraft/launch/LauncherPartLaunch.h"
- #include "minecraft/launch/DirectJavaLaunch.h"
- #include "minecraft/launch/ModMinecraftJar.h"
-@@ -823,6 +826,17 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::crea
-     {
-         process->appendStep(new Update(pptr, Net::Mode::Offline));
-     }
-+
-+#ifdef Q_OS_OPENBSD
-+    if(session->status != AuthSession::PlayableOffline)
-+    {
-+ process->appendStep(new PatchLWJGL(pptr, Net::Mode::Online, m_components));
-+    }
-+    else
-+    {
-+ process->appendStep(new PatchLWJGL(pptr, Net::Mode::Offline, m_components));
-+    }
-+#endif
-
-     // if there are any jar mods
-     {
diff --git a/games/multimc/patches/patch-api_logic_minecraft_MojangVersionFormat_cpp b/games/multimc/patches/patch-api_logic_minecraft_MojangVersionFormat_cpp
deleted file mode 100644
index a38c695..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_MojangVersionFormat_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_MojangVersionFormat_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/MojangVersionFormat.cpp
---- api/logic/minecraft/MojangVersionFormat.cpp.orig
-+++ api/logic/minecraft/MojangVersionFormat.cpp
-@@ -338,7 +338,7 @@ QJsonObject MojangVersionFormat::libraryToJson(Library
-     {
-         libRoot.insert("url", library->m_repositoryURL);
-     }
--    if (library->isNative())
-+    if (library->isNative() && !library->m_nativeClassifiers.empty())
-     {
-         QJsonObject nativeList;
-         auto iter = library->m_nativeClassifiers.begin();
diff --git a/games/multimc/patches/patch-api_logic_minecraft_OneSixVersionFormat_cpp b/games/multimc/patches/patch-api_logic_minecraft_OneSixVersionFormat_cpp
deleted file mode 100644
index 403f5e4..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_OneSixVersionFormat_cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_OneSixVersionFormat_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/OneSixVersionFormat.cpp
---- api/logic/minecraft/OneSixVersionFormat.cpp.orig
-+++ api/logic/minecraft/OneSixVersionFormat.cpp
-@@ -13,6 +13,14 @@ static void readString(const QJsonObject &root, const
-     }
- }
-
-+static void readBoolean(const QJsonObject &root, const QString &key, bool &variable)
-+{
-+    if (root.contains(key))
-+    {
-+        variable = requireBoolean(root.value(key));
-+    }
-+}
-+
- LibraryPtr OneSixVersionFormat::libraryFromJson(const QJsonObject &libObj, const QString &filename)
- {
- LibraryPtr out = MojangVersionFormat::libraryFromJson(libObj, filename);
-@@ -21,6 +29,8 @@ LibraryPtr OneSixVersionFormat::libraryFromJson(const
-     readString(libObj, "MMC-absoluteUrl", out->m_absoluteURL);
-     readString(libObj, "MMC-filename", out->m_filename);
-     readString(libObj, "MMC-displayname", out->m_displayname);
-+    readString(libObj, "MMC-path", out->m_path);
-+    readBoolean(libObj, "MMC-native", out->m_isNative);
-     return out;
- }
-
-@@ -35,6 +45,10 @@ QJsonObject OneSixVersionFormat::libraryToJson(Library
-         libRoot.insert("MMC-filename", library->m_filename);
-     if (library->m_displayname.size())
-         libRoot.insert("MMC-displayname", library->m_displayname);
-+    if (library->m_path.size())
-+        libRoot.insert("MMC-path", library->m_path);
-+    if (library->m_isNative)
-+        libRoot.insert("MMC-native", library->m_isNative);
-     return libRoot;
- }
-
diff --git a/games/multimc/patches/patch-api_logic_minecraft_OpSys_cpp b/games/multimc/patches/patch-api_logic_minecraft_OpSys_cpp
deleted file mode 100644
index 2287307..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_OpSys_cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_OpSys_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/OpSys.cpp
---- api/logic/minecraft/OpSys.cpp.orig
-+++ api/logic/minecraft/OpSys.cpp
-@@ -23,6 +23,8 @@ OpSys OpSys_fromString(QString name)
-         return Os_Windows;
-     if (name == "osx")
-         return Os_OSX;
-+    if (name == "openbsd")
-+        return Os_OpenBSD;
-     return Os_Other;
- }
-
-@@ -36,6 +38,8 @@ QString OpSys_toString(OpSys name)
-         return "osx";
-     case Os_Windows:
-         return "windows";
-+    case Os_OpenBSD:
-+        return "openbsd";
-     default:
-         return "other";
-     }
diff --git a/games/multimc/patches/patch-api_logic_minecraft_OpSys_h b/games/multimc/patches/patch-api_logic_minecraft_OpSys_h
deleted file mode 100644
index 29734dc..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_OpSys_h
+++ /dev/null
@@ -1,26 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_OpSys_h,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/OpSys.h
---- api/logic/minecraft/OpSys.h.orig
-+++ api/logic/minecraft/OpSys.h
-@@ -20,6 +20,7 @@ enum OpSys
-     Os_Windows,
-     Os_Linux,
-     Os_OSX,
-+    Os_OpenBSD,
-     Os_Other
- };
-
-@@ -32,6 +33,10 @@ QString OpSys_toString(OpSys);
- #ifdef Q_OS_MAC
- #define currentSystem Os_OSX
- #else
-+#ifdef Q_OS_OPENBSD
-+#define currentSystem Os_OpenBSD
-+#else
- #define currentSystem Os_Linux
-+#endif
- #endif
--#endif
-\ No newline at end of file
-+#endif
diff --git a/games/multimc/patches/patch-api_logic_minecraft_launch_LauncherPartLaunch_cpp b/games/multimc/patches/patch-api_logic_minecraft_launch_LauncherPartLaunch_cpp
deleted file mode 100644
index 462c018..0000000
--- a/games/multimc/patches/patch-api_logic_minecraft_launch_LauncherPartLaunch_cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-$OpenBSD: patch-api_logic_minecraft_launch_LauncherPartLaunch_cpp,v 1.1 2021/02/28 09:54:39 phessler Exp $
-
-Index: api/logic/minecraft/launch/LauncherPartLaunch.cpp
---- api/logic/minecraft/launch/LauncherPartLaunch.cpp.orig
-+++ api/logic/minecraft/launch/LauncherPartLaunch.cpp
-@@ -75,7 +75,7 @@ void LauncherPartLaunch::executeTask()
- classPath.prepend(FS::PathCombine(ENV.getJarsPath(), "NewLaunch.jar"));
-
-     auto natPath = minecraftInstance->getNativePath();
--#ifdef Q_OS_WIN
-+#if defined(Q_OS_WIN)
-     if (!fitsInLocal8bit(natPath))
-     {
-         args << "-Djava.library.path=" + shortPathName(natPath);
-@@ -84,6 +84,8 @@ void LauncherPartLaunch::executeTask()
-     {
-         args << "-Djava.library.path=" + natPath;
-     }
-+#elif defined(Q_OS_OPENBSD)
-+    args << "-Djava.library.path=" + natPath + ":" + LWJGL_DIR;
- #else
-     args << "-Djava.library.path=" + natPath;
- #endif
diff --git a/games/multimc/patches/patch-api_logic_tools_MCEditTool_cpp b/games/multimc/patches/patch-api_logic_tools_MCEditTool_cpp
deleted file mode 100644
index b1965ec..0000000
--- a/games/multimc/patches/patch-api_logic_tools_MCEditTool_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-$OpenBSD: patch-api_logic_tools_MCEditTool_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: api/logic/tools/MCEditTool.cpp
---- api/logic/tools/MCEditTool.cpp.orig
-+++ api/logic/tools/MCEditTool.cpp
-@@ -49,6 +49,8 @@ QString MCEditTool::getProgramPath()
- {
- #ifdef Q_OS_OSX
-     return path();
-+#elif defined(Q_OS_OPENBSD)
-+    return QString();
- #else
-     const QString mceditPath = path();
-     QDir mceditDir(mceditPath);
diff --git a/games/multimc/patches/patch-application_MultiMC_cpp b/games/multimc/patches/patch-application_MultiMC_cpp
deleted file mode 100644
index 78ad307..0000000
--- a/games/multimc/patches/patch-application_MultiMC_cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-$OpenBSD: patch-application_MultiMC_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: application/MultiMC.cpp
---- application/MultiMC.cpp.orig
-+++ application/MultiMC.cpp
-@@ -342,7 +342,7 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplicatio
-     // Set up paths
-     {
-         // Root path is used for updates.
--#ifdef Q_OS_LINUX
-+#if defined(Q_OS_LINUX) || defined(Q_OS_OPENBSD)
-         QDir foo(FS::PathCombine(binPath, ".."));
-         m_rootPath = foo.absolutePath();
- #elif defined(Q_OS_WIN32)
-@@ -727,6 +727,44 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplicatio
-         m_analytics->enable();
- qDebug() << "<> Initialized analytics with tid" << BuildConfig.ANALYTICS_ID;
-     }();
-+
-+#ifdef Q_OS_OPENBSD
-+    {
-+        QString currentJavaPath = settings()->get("JavaPath").toString();
-+        QString actualPath = FS::ResolveExecutable(currentJavaPath);
-+        if (actualPath.isNull())
-+        {
-+            qDebug() << "<> Finding Java with javaPathHelper...";
-+            char buf[512];
-+            FILE *fp = popen(JAVAPATHHELPER_PATH " -c multimc", "r");
-+            if (fp != NULL)
-+            {
-+              while (fgets(buf, 512, fp) != NULL)
-+              {
-+                  QString javaPath = QString::fromLocal8Bit(buf);
-+
-+                  if (javaPath.isNull())
-+                  {
-+                      continue;
-+                  }
-+
-+                  javaPath = javaPath.trimmed();
-+                  javaPath = FS::ResolveExecutable(javaPath);
-+
-+                  if (javaPath.isNull())
-+                  {
-+                      continue;
-+                  }
-+
-+                  qDebug() << "<> Found Java: " << javaPath;
-+ settings()->set("LastHostname", QHostInfo::localHostName());
-+                  settings()->set("JavaPath", javaPath);
-+              }
-+            }
-+            pclose(fp);
-+        }
-+    }
-+#endif
-
-     if(createSetupWizard())
-     {
diff --git a/games/multimc/patches/patch-application_UpdateController_cpp b/games/multimc/patches/patch-application_UpdateController_cpp
deleted file mode 100644
index 3acd4ef..0000000
--- a/games/multimc/patches/patch-application_UpdateController_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-$OpenBSD: patch-application_UpdateController_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: application/UpdateController.cpp
---- application/UpdateController.cpp.orig
-+++ 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_OPENBSD)
-     QString finishCmd = FS::PathCombine(m_root, "MultiMC");
- #elif defined Q_OS_MAC
-     QString finishCmd = QApplication::applicationFilePath();
diff --git a/games/multimc/patches/patch-libraries_iconfix_internal_qiconloader_cpp b/games/multimc/patches/patch-libraries_iconfix_internal_qiconloader_cpp
deleted file mode 100644
index bc07417..0000000
--- a/games/multimc/patches/patch-libraries_iconfix_internal_qiconloader_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-$OpenBSD: patch-libraries_iconfix_internal_qiconloader_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: libraries/iconfix/internal/qiconloader.cpp
---- libraries/iconfix/internal/qiconloader.cpp.orig
-+++ libraries/iconfix/internal/qiconloader.cpp
-@@ -320,7 +320,7 @@ Description: Make it so that the QIcon loader honors /
-              icon theme specification.
- Bug: https://bugreports.qt.nokia.com/browse/QTBUG-12874
-  *********************************************************************/
--#ifdef Q_OS_LINUX
-+#if defined(Q_OS_LINUX) || defined(Q_OS_OPENBSD)
-     /* Freedesktop standard says to look in /usr/share/pixmaps last */
-     if (entries.isEmpty())
-     {
diff --git a/games/multimc/patches/patch-libraries_systeminfo_src_sys_unix_cpp b/games/multimc/patches/patch-libraries_systeminfo_src_sys_unix_cpp
deleted file mode 100644
index 30d8f15..0000000
--- a/games/multimc/patches/patch-libraries_systeminfo_src_sys_unix_cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-$OpenBSD: patch-libraries_systeminfo_src_sys_unix_cpp,v 1.1.1.1 2020/09/21 07:22:37 kmos Exp $
-
-Index: libraries/systeminfo/src/sys_unix.cpp
---- libraries/systeminfo/src/sys_unix.cpp.orig
-+++ libraries/systeminfo/src/sys_unix.cpp
-@@ -5,6 +5,11 @@
- #include <sys/utsname.h>
- #include <fstream>
-
-+#ifdef Q_OS_OPENBSD
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#endif
-+
- Sys::KernelInfo Sys::getKernelInfo()
- {
-     Sys::KernelInfo out;
-@@ -17,6 +22,7 @@ Sys::KernelInfo Sys::getKernelInfo()
-
- uint64_t Sys::getSystemRam()
- {
-+#ifdef Q_OS_LINUX
-     std::string token;
-     std::ifstream file("/proc/meminfo");
-     while(file >> token)
-@@ -36,6 +42,17 @@ uint64_t Sys::getSystemRam()
-         // ignore rest of the line
-         file.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
-     }
-+#elif defined(Q_OS_OPENBSD)
-+    static int physmem_mib[] = {CTL_HW, HW_PHYSMEM64};
-+    uint64_t physmem;
-+    size_t size = sizeof(physmem);
-+
-+    if (sysctl(physmem_mib, 2, &physmem, &size, NULL, 0) != -1)
-+    {
-+        return physmem;
-+    }
-+
-+#endif
-     return 0; // nothing found
- }
-
diff --git a/games/multimc/pkg/PLIST b/games/multimc/pkg/PLIST
deleted file mode 100644
index 3975a2f..0000000
--- a/games/multimc/pkg/PLIST
+++ /dev/null
@@ -1,13 +0,0 @@
-@comment $OpenBSD: PLIST,v 1.2 2021/03/05 21:03:50 phessler Exp $
-@bin bin/multimc
-@so lib/libMultiMC_gui.so
-@so lib/libMultiMC_iconfix.so
-@so lib/libMultiMC_logic.so
-@so lib/libMultiMC_nbt++.so
-@so lib/libMultiMC_quazip.so
-@so lib/libMultiMC_rainbow.so
-share/doc/pkg-readmes/${PKGSTEM}
-share/multimc/
-share/multimc/jars/
-share/multimc/jars/JavaCheck.jar
-share/multimc/jars/NewLaunch.jar
diff --git a/games/multimc/pkg/README b/games/multimc/pkg/README
deleted file mode 100644
index 11d2517..0000000
--- a/games/multimc/pkg/README
+++ /dev/null
@@ -1,8 +0,0 @@
-The defaults of multimc are set up to play the most recent release of
-Minecraft.  Older versions of Minecraft can still be played, with some
-optional settings.
-
-To play Minecraft 1.12 and older:
-# pkg_add lwjgl jdk%1.8
-Add the instance you wish to play, then Edit Instance | Settings
-and change Java installation to use /usr/local/jdk-1.8.0/bin/java
--
2.34.1

Reply via email to