NOISSUE add a linux system packaging install layout
This commit is contained in:
		| @@ -3,11 +3,13 @@ | |||||||
| #include "BaseVersion.h" | #include "BaseVersion.h" | ||||||
| #include "BaseVersionList.h" | #include "BaseVersionList.h" | ||||||
| #include <QDir> | #include <QDir> | ||||||
|  | #include <QCoreApplication> | ||||||
| #include <QNetworkProxy> | #include <QNetworkProxy> | ||||||
| #include <QNetworkAccessManager> | #include <QNetworkAccessManager> | ||||||
| #include <QDebug> | #include <QDebug> | ||||||
| #include "tasks/Task.h" | #include "tasks/Task.h" | ||||||
| #include "meta/Index.h" | #include "meta/Index.h" | ||||||
|  | #include "FileSystem.h" | ||||||
| #include <QDebug> | #include <QDebug> | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ public: | |||||||
| 	std::shared_ptr<IIconList> m_iconlist; | 	std::shared_ptr<IIconList> m_iconlist; | ||||||
| 	QMap<QString, std::shared_ptr<BaseVersionList>> m_versionLists; | 	QMap<QString, std::shared_ptr<BaseVersionList>> m_versionLists; | ||||||
| 	shared_qobject_ptr<Meta::Index> m_metadataIndex; | 	shared_qobject_ptr<Meta::Index> m_metadataIndex; | ||||||
|  | 	QString m_jarsPath; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static Env * instance; | static Env * instance; | ||||||
| @@ -190,4 +193,18 @@ void Env::updateProxySettings(QString proxyTypeStr, QString addr, int port, QStr | |||||||
| 	qDebug() << proxyDesc; | 	qDebug() << proxyDesc; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | QString Env::getJarsPath() | ||||||
|  | { | ||||||
|  | 	if(d->m_jarsPath.isEmpty()) | ||||||
|  | 	{ | ||||||
|  | 		return FS::PathCombine(QCoreApplication::applicationDirPath(), "jars"); | ||||||
|  | 	} | ||||||
|  | 	return d->m_jarsPath; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void Env::setJarsPath(const QString& path) | ||||||
|  | { | ||||||
|  | 	d->m_jarsPath = path; | ||||||
|  | } | ||||||
|  |  | ||||||
| #include "Env.moc" | #include "Env.moc" | ||||||
|   | |||||||
| @@ -59,6 +59,8 @@ public: | |||||||
|  |  | ||||||
| 	shared_qobject_ptr<Meta::Index> metadataIndex(); | 	shared_qobject_ptr<Meta::Index> metadataIndex(); | ||||||
|  |  | ||||||
|  | 	QString getJarsPath(); | ||||||
|  | 	void setJarsPath(const QString & path); | ||||||
| protected: | protected: | ||||||
| 	Private * d; | 	Private * d; | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -7,13 +7,15 @@ | |||||||
| #include <QCoreApplication> | #include <QCoreApplication> | ||||||
| #include <QDebug> | #include <QDebug> | ||||||
|  |  | ||||||
|  | #include "Env.h" | ||||||
|  |  | ||||||
| JavaChecker::JavaChecker(QObject *parent) : QObject(parent) | JavaChecker::JavaChecker(QObject *parent) : QObject(parent) | ||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
| void JavaChecker::performCheck() | void JavaChecker::performCheck() | ||||||
| { | { | ||||||
| 	QString checkerJar = FS::PathCombine(QCoreApplication::applicationDirPath(), "jars", "JavaCheck.jar"); | 	QString checkerJar = FS::PathCombine(ENV.getJarsPath(), "JavaCheck.jar"); | ||||||
|  |  | ||||||
| 	QStringList args; | 	QStringList args; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -19,6 +19,7 @@ | |||||||
| #include <minecraft/MinecraftInstance.h> | #include <minecraft/MinecraftInstance.h> | ||||||
| #include <FileSystem.h> | #include <FileSystem.h> | ||||||
| #include <QStandardPaths> | #include <QStandardPaths> | ||||||
|  | #include "Env.h" | ||||||
|  |  | ||||||
| LauncherPartLaunch::LauncherPartLaunch(LaunchTask *parent) : LaunchStep(parent) | LauncherPartLaunch::LauncherPartLaunch(LaunchTask *parent) : LaunchStep(parent) | ||||||
| { | { | ||||||
| @@ -43,7 +44,7 @@ void LauncherPartLaunch::executeTask() | |||||||
| 	// make detachable - this will keep the process running even if the object is destroyed | 	// make detachable - this will keep the process running even if the object is destroyed | ||||||
| 	m_process.setDetachable(true); | 	m_process.setDetachable(true); | ||||||
|  |  | ||||||
| 	args << "-jar" << FS::PathCombine(QCoreApplication::applicationDirPath(), "jars", "NewLaunch.jar"); | 	args << "-jar" << FS::PathCombine(ENV.getJarsPath(), "NewLaunch.jar"); | ||||||
|  |  | ||||||
| 	QString wrapperCommand = instance->getWrapperCommand(); | 	QString wrapperCommand = instance->getWrapperCommand(); | ||||||
| 	if(!wrapperCommand.isEmpty()) | 	if(!wrapperCommand.isEmpty()) | ||||||
|   | |||||||
| @@ -304,8 +304,8 @@ target_link_libraries(MultiMC MultiMC_gui ${QUAZIP_LIBRARIES} hoedown MultiMC_ra | |||||||
| ######## Packaging/install paths setup ######## | ######## Packaging/install paths setup ######## | ||||||
|  |  | ||||||
| # How to install the build results | # How to install the build results | ||||||
| set(MultiMC_LAYOUT "auto" CACHE STRING "The layout for MultiMC installation (auto, win-bundle, lin-bundle, mac-bundle, lin-nodeps)") | set(MultiMC_LAYOUT "auto" CACHE STRING "The layout for MultiMC installation (auto, win-bundle, lin-bundle, lin-nodeps, lin-system, mac-bundle)") | ||||||
| set_property(CACHE MultiMC_LAYOUT PROPERTY STRINGS auto win-bundle lin-bundle mac-bundle lin-nodeps) | set_property(CACHE MultiMC_LAYOUT PROPERTY STRINGS auto win-bundle lin-bundle lin-nodeps lin-system mac-bundle) | ||||||
|  |  | ||||||
| if(MultiMC_LAYOUT STREQUAL "auto") | if(MultiMC_LAYOUT STREQUAL "auto") | ||||||
| 	if(UNIX AND APPLE) | 	if(UNIX AND APPLE) | ||||||
| @@ -326,6 +326,7 @@ if(MultiMC_LAYOUT_REAL STREQUAL "mac-bundle") | |||||||
| 	set(LIBRARY_DEST_DIR "MultiMC.app/Contents/MacOS") | 	set(LIBRARY_DEST_DIR "MultiMC.app/Contents/MacOS") | ||||||
| 	set(PLUGIN_DEST_DIR "MultiMC.app/Contents/MacOS") | 	set(PLUGIN_DEST_DIR "MultiMC.app/Contents/MacOS") | ||||||
| 	set(RESOURCES_DEST_DIR "MultiMC.app/Contents/Resources") | 	set(RESOURCES_DEST_DIR "MultiMC.app/Contents/Resources") | ||||||
|  | 	set(JARS_DEST_DIR "MultiMC.app/Contents/MacOS") | ||||||
|  |  | ||||||
| 	set(BUNDLE_DEST_DIR ".") | 	set(BUNDLE_DEST_DIR ".") | ||||||
|  |  | ||||||
| @@ -346,7 +347,7 @@ if(MultiMC_LAYOUT_REAL STREQUAL "mac-bundle") | |||||||
| 	set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) | 	set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) | ||||||
|  |  | ||||||
| 	# install as bundle | 	# install as bundle | ||||||
| 	set(INSTALL_BUNDLE TRUE) | 	set(INSTALL_BUNDLE "full") | ||||||
|  |  | ||||||
| 	# Add the icon | 	# Add the icon | ||||||
| 	install(FILES resources/MultiMC.icns DESTINATION ${RESOURCES_DEST_DIR}) | 	install(FILES resources/MultiMC.icns DESTINATION ${RESOURCES_DEST_DIR}) | ||||||
| @@ -357,6 +358,7 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-bundle") | |||||||
| 	set(PLUGIN_DEST_DIR "plugins") | 	set(PLUGIN_DEST_DIR "plugins") | ||||||
| 	set(BUNDLE_DEST_DIR ".") | 	set(BUNDLE_DEST_DIR ".") | ||||||
| 	set(RESOURCES_DEST_DIR ".") | 	set(RESOURCES_DEST_DIR ".") | ||||||
|  | 	set(JARS_DEST_DIR "bin") | ||||||
|  |  | ||||||
| 	# Apps to bundle | 	# Apps to bundle | ||||||
| 	set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/MultiMC") | 	set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/MultiMC") | ||||||
| @@ -365,7 +367,7 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-bundle") | |||||||
| 	set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) | 	set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) | ||||||
|  |  | ||||||
| 	# install as bundle | 	# install as bundle | ||||||
| 	set(INSTALL_BUNDLE TRUE) | 	set(INSTALL_BUNDLE "full") | ||||||
|  |  | ||||||
| 	# Set RPATH | 	# Set RPATH | ||||||
| 	SET_TARGET_PROPERTIES(MultiMC PROPERTIES INSTALL_RPATH "$ORIGIN/") | 	SET_TARGET_PROPERTIES(MultiMC PROPERTIES INSTALL_RPATH "$ORIGIN/") | ||||||
| @@ -379,9 +381,10 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-nodeps") | |||||||
| 	set(PLUGIN_DEST_DIR "plugins") | 	set(PLUGIN_DEST_DIR "plugins") | ||||||
| 	set(BUNDLE_DEST_DIR ".") | 	set(BUNDLE_DEST_DIR ".") | ||||||
| 	set(RESOURCES_DEST_DIR ".") | 	set(RESOURCES_DEST_DIR ".") | ||||||
|  | 	set(JARS_DEST_DIR "bin") | ||||||
|  |  | ||||||
| 	# do not install as bundle | 	# install as bundle with no dependencies included | ||||||
| 	set(INSTALL_BUNDLE FALSE) | 	set(INSTALL_BUNDLE "nodeps") | ||||||
|  |  | ||||||
| 	# Set RPATH | 	# Set RPATH | ||||||
| 	SET_TARGET_PROPERTIES(MultiMC PROPERTIES INSTALL_RPATH "$ORIGIN/") | 	SET_TARGET_PROPERTIES(MultiMC PROPERTIES INSTALL_RPATH "$ORIGIN/") | ||||||
| @@ -389,12 +392,30 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-nodeps") | |||||||
| 	# Install basic runner script | 	# Install basic runner script | ||||||
| 	install(PROGRAMS package/linux/MultiMC DESTINATION ${BUNDLE_DEST_DIR}) | 	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/multimc5" CACHE STRING "Relative path from packaging root to the shared data directory") | ||||||
|  | 	set(JARS_DEST_DIR "${MultiMC_SHARE_DEST_DIR}") | ||||||
|  |  | ||||||
|  | 	set(BINARY_DEST_DIR ${MultiMC_BINARY_DEST_DIR}) | ||||||
|  | 	set(LIBRARY_DEST_DIR ${MultiMC_LIBRARY_DEST_DIR}) | ||||||
|  |  | ||||||
|  | 	MESSAGE(STATUS "Compiling for linux system with ${MultiMC_SHARE_DEST_DIR} and MULTIMC_LINUX_DATADIR") | ||||||
|  | 	set_target_properties(MultiMC PROPERTIES OUTPUT_NAME "multimc5") | ||||||
|  | 	target_compile_definitions(MultiMC PRIVATE "-DMULTIMC_JARS_LOCATION=/${MultiMC_SHARE_DEST_DIR}/jars" "-DMULTIMC_LINUX_DATADIR" | ||||||
|  | 	) | ||||||
|  |  | ||||||
|  | 	# install as bundle with no dependencies included | ||||||
|  | 	set(INSTALL_BUNDLE "nodeps") | ||||||
|  |  | ||||||
| elseif(MultiMC_LAYOUT_REAL STREQUAL "win-bundle") | elseif(MultiMC_LAYOUT_REAL STREQUAL "win-bundle") | ||||||
| 	set(BINARY_DEST_DIR ".") | 	set(BINARY_DEST_DIR ".") | ||||||
| 	set(LIBRARY_DEST_DIR ".") | 	set(LIBRARY_DEST_DIR ".") | ||||||
| 	set(PLUGIN_DEST_DIR ".") | 	set(PLUGIN_DEST_DIR ".") | ||||||
| 	set(BUNDLE_DEST_DIR ".") | 	set(BUNDLE_DEST_DIR ".") | ||||||
| 	set(RESOURCES_DEST_DIR ".") | 	set(RESOURCES_DEST_DIR ".") | ||||||
|  | 	set(JARS_DEST_DIR ".") | ||||||
|  |  | ||||||
| 	# Apps to bundle | 	# Apps to bundle | ||||||
| 	set(APPS "\${CMAKE_INSTALL_PREFIX}/MultiMC.exe") | 	set(APPS "\${CMAKE_INSTALL_PREFIX}/MultiMC.exe") | ||||||
| @@ -403,7 +424,7 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "win-bundle") | |||||||
| 	set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) | 	set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) | ||||||
|  |  | ||||||
| 	# install as bundle | 	# install as bundle | ||||||
| 	set(INSTALL_BUNDLE TRUE) | 	set(INSTALL_BUNDLE "full") | ||||||
| else() | else() | ||||||
| 	message(FATAL_ERROR "No sensible install layout set.") | 	message(FATAL_ERROR "No sensible install layout set.") | ||||||
| endif() | endif() | ||||||
| @@ -417,12 +438,11 @@ install(TARGETS MultiMC | |||||||
| 	RUNTIME DESTINATION ${BINARY_DEST_DIR} COMPONENT Runtime | 	RUNTIME DESTINATION ${BINARY_DEST_DIR} COMPONENT Runtime | ||||||
| ) | ) | ||||||
|  |  | ||||||
| #### jars needed for testing java and launching Minecraft #### | install_jar(JavaCheck "${JARS_DEST_DIR}/jars") | ||||||
| install_jar(JavaCheck "${BINARY_DEST_DIR}/jars") | install_jar(NewLaunch "${JARS_DEST_DIR}/jars") | ||||||
| install_jar(NewLaunch "${BINARY_DEST_DIR}/jars") |  | ||||||
|  |  | ||||||
| #### Shared libraries and dependencies #### | #### Dependency installations #### | ||||||
| if(NOT INSTALL_BUNDLE) | if(INSTALL_BUNDLE STREQUAL "nodeps") | ||||||
| 	# Just our own stuff | 	# Just our own stuff | ||||||
| 	# FIXME: this does not remove RPATH. | 	# FIXME: this does not remove RPATH. | ||||||
| 	install( | 	install( | ||||||
| @@ -437,7 +457,7 @@ if(NOT INSTALL_BUNDLE) | |||||||
| 	DESTINATION | 	DESTINATION | ||||||
| 		${LIBRARY_DEST_DIR} | 		${LIBRARY_DEST_DIR} | ||||||
| 	) | 	) | ||||||
| else() | elseif(INSTALL_BUNDLE STREQUAL "full") | ||||||
| 	# Add qt.conf - this makes Qt stop looking for things outside the bundle | 	# Add qt.conf - this makes Qt stop looking for things outside the bundle | ||||||
| 	install( | 	install( | ||||||
| 		CODE "file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${RESOURCES_DEST_DIR}/qt.conf\" \" \")" | 		CODE "file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${RESOURCES_DEST_DIR}/qt.conf\" \" \")" | ||||||
| @@ -450,7 +470,7 @@ else() | |||||||
| 			DIRECTORY "${QT_PLUGINS_DIR}/imageformats" | 			DIRECTORY "${QT_PLUGINS_DIR}/imageformats" | ||||||
| 			DESTINATION ${PLUGIN_DEST_DIR} | 			DESTINATION ${PLUGIN_DEST_DIR} | ||||||
| 			COMPONENT Runtime | 			COMPONENT Runtime | ||||||
| 			REGEX "tga|tiff|mng" EXCLUDE | 			REGEX "tga|tiff|mng|webp" EXCLUDE | ||||||
| 		) | 		) | ||||||
| 		# Icon engines | 		# Icon engines | ||||||
| 		install( | 		install( | ||||||
| @@ -472,7 +492,7 @@ else() | |||||||
| 			DIRECTORY "${QT_PLUGINS_DIR}/imageformats" | 			DIRECTORY "${QT_PLUGINS_DIR}/imageformats" | ||||||
| 			DESTINATION ${PLUGIN_DEST_DIR} | 			DESTINATION ${PLUGIN_DEST_DIR} | ||||||
| 			COMPONENT Runtime | 			COMPONENT Runtime | ||||||
| 			REGEX "tga|tiff|mng" EXCLUDE | 			REGEX "tga|tiff|mng|webp" EXCLUDE | ||||||
| 			REGEX "d\\." EXCLUDE | 			REGEX "d\\." EXCLUDE | ||||||
| 			REGEX "_debug\\." EXCLUDE | 			REGEX "_debug\\." EXCLUDE | ||||||
| 			REGEX "\\.dSYM" EXCLUDE | 			REGEX "\\.dSYM" EXCLUDE | ||||||
|   | |||||||
| @@ -79,6 +79,9 @@ | |||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #define STRINGIFY(x) #x | ||||||
|  | #define TOSTRING(x) STRINGIFY(x) | ||||||
|  |  | ||||||
| static const QLatin1String liveCheckFile("live.check"); | static const QLatin1String liveCheckFile("live.check"); | ||||||
|  |  | ||||||
| using namespace Commandline; | using namespace Commandline; | ||||||
| @@ -138,7 +141,7 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) | |||||||
| 		parser.addShortOpt("version", 'V'); | 		parser.addShortOpt("version", 'V'); | ||||||
| 		parser.addDocumentation("version", "display program version and exit."); | 		parser.addDocumentation("version", "display program version and exit."); | ||||||
| 		// --dir | 		// --dir | ||||||
| 		parser.addOption("dir", applicationDirPath()); | 		parser.addOption("dir"); | ||||||
| 		parser.addShortOpt("dir", 'd'); | 		parser.addShortOpt("dir", 'd'); | ||||||
| 		parser.addDocumentation("dir", "use the supplied folder as MultiMC root instead of " | 		parser.addDocumentation("dir", "use the supplied folder as MultiMC root instead of " | ||||||
| 									   "the binary location (use '.' for current)"); | 									   "the binary location (use '.' for current)"); | ||||||
| @@ -199,8 +202,19 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) | |||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
|  | #ifdef MULTIMC_LINUX_DATADIR | ||||||
|  | 		QString xdgDataHome = QFile::decodeName(qgetenv("XDG_DATA_HOME")); | ||||||
|  | 		if (xdgDataHome.isEmpty()) | ||||||
|  | 			xdgDataHome = QDir::homePath() + QLatin1String("/.local/share"); | ||||||
|  | 		dataPath = xdgDataHome + "/multimc"; | ||||||
|  | 		printf("BLAH %s", xdgDataHome.toStdString().c_str()); | ||||||
|  |  | ||||||
|  | 		adjustedBy += "XDG standard " + dataPath; | ||||||
|  |  | ||||||
|  | #else | ||||||
| 		dataPath = applicationDirPath(); | 		dataPath = applicationDirPath(); | ||||||
| 		adjustedBy += "Fallback to binary path " + dataPath; | 		adjustedBy += "Fallback to binary path " + dataPath; | ||||||
|  | #endif | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if (!FS::ensureFolderPathExists(dataPath)) | 	if (!FS::ensureFolderPathExists(dataPath)) | ||||||
| @@ -297,6 +311,9 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) | |||||||
| 	{ | 	{ | ||||||
| 		qDebug() << "ID of instance to launch   : " << m_instanceIdToLaunch; | 		qDebug() << "ID of instance to launch   : " << m_instanceIdToLaunch; | ||||||
| 	} | 	} | ||||||
|  | #ifdef MULTIMC_JARS_LOCATION | ||||||
|  | 	ENV.setJarsPath( TOSTRING(MULTIMC_JARS_LOCATION) ); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| 	do // once | 	do // once | ||||||
| 	{ | 	{ | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								application/package/linux/multimc.desktop
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								application/package/linux/multimc.desktop
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | [Desktop Entry] | ||||||
|  | Version=1.0 | ||||||
|  | Encoding=UTF-8 | ||||||
|  | Name=MultiMC | ||||||
|  | GenericName=Minecraft launcher | ||||||
|  | Comment=Free, open source launcher and instance manager for Minecraft. | ||||||
|  | Type=Application | ||||||
|  | Terminal=false | ||||||
|  | Exec=multimc | ||||||
|  | Icon=multimc | ||||||
|  | Categories=Application;Game | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| Package: multimc |  | ||||||
| Version: 1.1-2 |  | ||||||
| Architecture: all |  | ||||||
| Maintainer: Petr Mrázek <peterix@gmail.com> |  | ||||||
| Section: games |  | ||||||
| Priority: optional |  | ||||||
| Installed-Size: 75 |  | ||||||
| Depends: zenity, default-jre |  | ||||||
| Homepage: http://multimc.org |  | ||||||
| Description: A local install wrapper for MultiMC |  | ||||||
|  |  | ||||||
| @@ -1,3 +0,0 @@ | |||||||
| #!/bin/sh |  | ||||||
| set -e |  | ||||||
| update-desktop-database |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| Before Width: | Height: | Size: 52 KiB | 
| @@ -1,33 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| INSTDIR="${XDG_DATA_HOME-$HOME/.local/share}/multimc" |  | ||||||
|  |  | ||||||
| if [ `getconf LONG_BIT` = "64" ] |  | ||||||
| then |  | ||||||
|     PACKAGE="mmc-stable-lin64.tar.gz" |  | ||||||
| else |  | ||||||
|     PACKAGE="mmc-stable-lin32.tar.gz" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| deploy() { |  | ||||||
|     mkdir -p $INSTDIR |  | ||||||
|     cd ${INSTDIR} |  | ||||||
|  |  | ||||||
|     wget --progress=dot:force "https://files.multimc.org/downloads/${PACKAGE}" 2>&1 | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Downloading at \2\/s, ETA \3/' | zenity --progress --auto-close --auto-kill --title="Downloading MultiMC..." |  | ||||||
|  |  | ||||||
|     tar -xzf ${PACKAGE} --transform='s,MultiMC/,,' |  | ||||||
|     rm ${PACKAGE} |  | ||||||
|     chmod +x MultiMC |  | ||||||
| } |  | ||||||
|  |  | ||||||
| runmmc() { |  | ||||||
|     cd ${INSTDIR} |  | ||||||
|     ./MultiMC |  | ||||||
| } |  | ||||||
|  |  | ||||||
| if [[ ! -f ${INSTDIR}/MultiMC ]]; then |  | ||||||
|     deploy |  | ||||||
|     runmmc |  | ||||||
| else |  | ||||||
|     runmmc |  | ||||||
| fi |  | ||||||
| @@ -1,16 +0,0 @@ | |||||||
| [Desktop Entry] |  | ||||||
| Categories=Game; |  | ||||||
| Exec=/opt/multimc/run.sh |  | ||||||
| Icon=/opt/multimc/icon.svg |  | ||||||
| Keywords=game; |  | ||||||
| MimeType= |  | ||||||
| Name=MultiMC 5 |  | ||||||
| Path= |  | ||||||
| StartupNotify=true |  | ||||||
| Terminal=false |  | ||||||
| TerminalOptions= |  | ||||||
| Type=Application |  | ||||||
| X-DBUS-ServiceName= |  | ||||||
| X-DBUS-StartupType= |  | ||||||
| X-KDE-SubstituteUID=false |  | ||||||
| X-KDE-Username= |  | ||||||
| @@ -1,12 +0,0 @@ | |||||||
| # What is this? |  | ||||||
| A simple ubuntu package for MultiMC that wraps the contains a script that downloads and installs real MultiMC on ubuntu based systems. |  | ||||||
|  |  | ||||||
| It contains a `.dekstop` file, an icon, and a simple script that does the heavy lifting. |  | ||||||
|  |  | ||||||
| # How to build this? |  | ||||||
| You need dpkg utils and then run: |  | ||||||
| ``` |  | ||||||
| fakeroot dpkg-deb --build multimc_1.1-1 |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| Replace the version with whatever is appropriate. |  | ||||||
		Reference in New Issue
	
	Block a user
	 Petr Mrázek
					Petr Mrázek