summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/docs/packaging
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:51:45 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:51:45 +0300
commitd3261e64152397db2dca4d691a990c6bc2a6f4dd (patch)
treefac2f7be638651181a72453d714f0f96675c2b8b /archived/projt-launcher/docs/packaging
parent31b9a8949ed0a288143e23bf739f2eb64fdc63be (diff)
downloadProject-Tick-d3261e64152397db2dca4d691a990c6bc2a6f4dd.tar.gz
Project-Tick-d3261e64152397db2dca4d691a990c6bc2a6f4dd.zip
NOISSUE add archived projects
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'archived/projt-launcher/docs/packaging')
-rw-r--r--archived/projt-launcher/docs/packaging/README.md8
-rw-r--r--archived/projt-launcher/docs/packaging/os-specific/linux/flathub/flathubpackage.yml110
-rw-r--r--archived/projt-launcher/docs/packaging/os-specific/linux/flathub/projtlauncher11
-rw-r--r--archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher-unwrapped.nix109
-rw-r--r--archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher.nix132
-rw-r--r--archived/projt-launcher/docs/packaging/os-specific/macos/homebrew/projtlauncher.rb31
6 files changed, 401 insertions, 0 deletions
diff --git a/archived/projt-launcher/docs/packaging/README.md b/archived/projt-launcher/docs/packaging/README.md
new file mode 100644
index 0000000000..dc9dbe4caf
--- /dev/null
+++ b/archived/projt-launcher/docs/packaging/README.md
@@ -0,0 +1,8 @@
+# Packaging
+
+Platform-specific packaging files.
+
+For documentation, see:
+
+- [Linux Packaging](../handbook/linux-packaging.md)
+- [Nix Packaging](../handbook/nix.md)
diff --git a/archived/projt-launcher/docs/packaging/os-specific/linux/flathub/flathubpackage.yml b/archived/projt-launcher/docs/packaging/os-specific/linux/flathub/flathubpackage.yml
new file mode 100644
index 0000000000..07ef6e05c7
--- /dev/null
+++ b/archived/projt-launcher/docs/packaging/os-specific/linux/flathub/flathubpackage.yml
@@ -0,0 +1,110 @@
+id: org.projecttick.ProjTLauncher
+runtime: org.kde.Platform
+runtime-version: '6.10'
+sdk: org.kde.Sdk
+sdk-extensions:
+ - org.freedesktop.Sdk.Extension.openjdk17
+
+command: projtlauncher
+finish-args:
+ - --share=ipc
+ - --socket=wayland
+ - --socket=fallback-x11
+ - --device=all # Grant access to all device nodes, often required by certain game mods for accessing specialized hardware like controllers, joysticks, or other input peripherals that use non-standard device paths.
+ - --share=network
+ - --socket=pulseaudio
+ # for Discord RPC mods
+ - --filesystem=xdg-run/app/com.discordapp.Discord:create
+ # Mod drag&drop
+ - --filesystem=xdg-download:ro
+ # FTBApp import
+ - --persist=.ftba
+ # Userspace visibility for manual hugepages configuration
+ # Required for -XX:+UseLargePages
+ - --filesystem=/sys/kernel/mm/hugepages:ro
+ # Userspace visibility for transparent hugepages configuration
+ # Required for -XX:+UseTransparentHugePages
+ - --filesystem=/sys/kernel/mm/transparent_hugepage:ro
+
+cleanup:
+ - /include
+ - /lib/cmake
+ - /lib/pkgconfig
+
+modules:
+ - name: glfw
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS:BOOL=ON
+ - -DGLFW_BUILD_WAYLAND:BOOL=ON
+ - -DGLFW_BUILD_DOCS:BOOL=OFF
+ sources:
+ - type: git
+ url: https://github.com/glfw/glfw.git
+ tag: '3.4'
+ commit: 7b6aead9fb88b3623e3b3725ebb42670cbe4c579
+
+ - name: xrandr
+ buildsystem: autotools
+ sources:
+ - type: archive
+ url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.3.tar.xz
+ sha256: f8dd7566adb74147fab9964680b6bbadee87cf406a7fcff51718a5e6949b841c
+ x-checker-data:
+ type: anitya
+ project-id: 14957
+ stable-only: true
+ url-template: https://xorg.freedesktop.org/archive/individual/app/xrandr-$version.tar.xz
+ cleanup:
+ - /share/man
+ - /bin/xkeystone
+
+ - name: gamemode
+ buildsystem: meson
+ config-opts:
+ - -Dwith-sd-bus-provider=no-daemon
+ - -Dwith-examples=false
+ post-install:
+ # gamemoderun is installed for users who want to use wrapper commands
+ # post-install is running inside the build dir, we need it from the source though
+ - install -Dm755 ../data/gamemoderun -t /app/bin
+ sources:
+ - type: archive
+ dest-filename: gamemode.tar.gz
+ url: https://api.github.com/repos/FeralInteractive/gamemode/tarball/1.8.2
+ sha256: 2886d4ce543c78bd2a364316d5e7fd59ef06b71de63f896b37c6d3dc97658f60
+ x-checker-data:
+ type: json
+ url: https://api.github.com/repos/FeralInteractive/gamemode/releases/latest
+ version-query: .tag_name
+ url-query: .tarball_url
+ timestamp-query: .published_at
+ cleanup:
+ - /include
+ - /lib/pkgconfig
+ - '*.a'
+
+ - name: projtlauncher
+ buildsystem: cmake-ninja
+ builddir: true
+ config-opts:
+ - -DLauncher_BUILD_PLATFORM=flatpak
+ # This allows us to manage and update Java independently of this Flatpak
+ - -DLauncher_ENABLE_JAVA_DOWNLOADER=ON
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ build-options:
+ env:
+ JAVA_HOME: /usr/lib/sdk/openjdk17/jvm/openjdk-17
+ JAVA_COMPILER: /usr/lib/sdk/openjdk17/jvm/openjdk-17/bin/javac
+ run-tests: true
+ post-install:
+ - mv /app/bin/projtlauncher /app/bin/projtrun
+ - install -Dm755 ../projtlauncher -t /app/bin
+ sources:
+ - type: git
+ url: https://github.com/Project-Tick/ProjT-Launcher.git
+ tag: 0.0.3-4
+ commit: f0d189dc9dcd5938cc52f385b610165f65198da8 # 0.0.3-4
+ - type: file
+ path: projtlauncher
diff --git a/archived/projt-launcher/docs/packaging/os-specific/linux/flathub/projtlauncher b/archived/projt-launcher/docs/packaging/os-specific/linux/flathub/projtlauncher
new file mode 100644
index 0000000000..90ea33e4e4
--- /dev/null
+++ b/archived/projt-launcher/docs/packaging/os-specific/linux/flathub/projtlauncher
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# discord RPC
+for i in {0..9}; do
+ test -S "$XDG_RUNTIME_DIR"/discord-ipc-"$i" || ln -sf {app/com.discordapp.Discord,"$XDG_RUNTIME_DIR"}/discord-ipc-"$i";
+done
+
+export PATH="${PATH}${PATH:+:}/usr/lib/extensions/vulkan/gamescope/bin:/usr/lib/extensions/vulkan/MangoHud/bin"
+export VK_LAYER_PATH="/usr/lib/extensions/vulkan/share/vulkan/implicit_layer.d/"
+
+exec /app/bin/projtrun "$@"
diff --git a/archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher-unwrapped.nix b/archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher-unwrapped.nix
new file mode 100644
index 0000000000..505792b9d6
--- /dev/null
+++ b/archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher-unwrapped.nix
@@ -0,0 +1,109 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ cmark,
+ extra-cmake-modules,
+ qt6Packages,
+ gamemode,
+ jdk17,
+ ninja,
+ nix-update-script,
+ stripJavaArchivesHook,
+ tomlplusplus,
+ zlib,
+ msaClientID ? null,
+ gamemodeSupport ? stdenv.hostPlatform.isLinux,
+}:
+
+assert lib.assertMsg (
+ gamemodeSupport -> stdenv.hostPlatform.isLinux
+) "gamemodeSupport is only available on Linux.";
+stdenv.mkDerivation (finalAttrs: {
+ pname = "projtlauncher";
+ version = "0.0.3-4";
+
+ src = fetchFromGitHub {
+ owner = "Project-Tick";
+ repo = "ProjT-Launcher";
+ tag = finalAttrs.version;
+ hash = "sha256-U7bcQOySof86EtZHa63/PNuWDDJ7kEL0NuzvJ1dGU8c=";
+ fetchSubmodules = true;
+ };
+
+ nativeBuildInputs = [
+ cmake
+ ninja
+ jdk17
+ stripJavaArchivesHook
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isLinux [
+ extra-cmake-modules
+ ];
+
+ buildInputs = [
+ cmark
+ qt6Packages.qtbase
+ qt6Packages.qtnetworkauth
+ qt6Packages.quazip
+ tomlplusplus
+ zlib
+ ]
+ ++ lib.optional gamemodeSupport gamemode;
+
+ cmakeFlags = [
+ # downstream branding
+ (lib.cmakeFeature "Launcher_BUILD_PLATFORM" "nixpkgs")
+ ]
+ ++ lib.optionals (msaClientID != null) [
+ (lib.cmakeFeature "Launcher_MSA_CLIENT_ID" (toString msaClientID))
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ # we wrap our binary manually
+ (lib.cmakeFeature "INSTALL_BUNDLE" "nodeps")
+ # disable built-in updater
+ (lib.cmakeFeature "MACOSX_SPARKLE_UPDATE_FEED_URL" "''")
+ (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/Applications/")
+ ];
+
+ doCheck = true;
+
+ dontWrapQtApps = true;
+
+ passthru = {
+ updateScript = nix-update-script { };
+ };
+
+ meta = {
+ description = "Free, open-source Minecraft launcher";
+ longDescription = ''
+ This application lets you create and manage multiple
+ independent Minecraft instances, each with its own
+ unique mods, texture packs, worlds, and settings.
+ Easily switch between different setups without conflicts,
+ keep all your saves and customizations organized, and
+ configure options for each instance through a simple and
+ intuitive interface. Perfect for players who want to
+ experiment with different modpacks, resource packs, or
+ gameplay styles while keeping everything neatly separated.
+ '';
+ homepage = "https://projecttick.org/projtlauncher";
+ changelog = "https://github.com/Project-Tick/ProjT-Launcher/releases/tag/${finalAttrs.version}";
+ license = with lib.licenses; [
+ gpl3Only
+ asl20
+ cc-by-sa-40
+ ];
+ maintainers = with lib.maintainers; [
+ yongdohyun
+ grxtor
+ ];
+ mainProgram = "projtlauncher";
+ platforms = [
+ "x86_64-linux"
+ "aarch64-linux"
+ "aarch64-darwin"
+ ];
+ };
+})
diff --git a/archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher.nix b/archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher.nix
new file mode 100644
index 0000000000..d597a275f4
--- /dev/null
+++ b/archived/projt-launcher/docs/packaging/os-specific/linux/nix/projtlauncher.nix
@@ -0,0 +1,132 @@
+{
+ addDriverRunpath,
+ alsa-lib,
+ flite,
+ gamemode,
+ glfw3-minecraft,
+ jdk17,
+ jdk21,
+ jdk8,
+ qt6Packages,
+ lib,
+ libGL,
+ libX11,
+ libXcursor,
+ libXext,
+ libXrandr,
+ libXxf86vm,
+ libjack2,
+ libpulseaudio,
+ libusb1,
+ mesa-demos,
+ openal,
+ pciutils,
+ pipewire,
+ projtlauncher-unwrapped,
+ stdenv,
+ symlinkJoin,
+ udev,
+ vulkan-loader,
+ xrandr,
+
+ additionalLibs ? [ ],
+ additionalPrograms ? [ ],
+ controllerSupport ? stdenv.hostPlatform.isLinux,
+ gamemodeSupport ? stdenv.hostPlatform.isLinux,
+ jdks ? [
+ jdk21 # need for newest Minecraft versions
+ jdk17 # need for old and new Minecraft versions
+ jdk8 # need for legacy Minecraft versions
+ ],
+ msaClientID ? null,
+ textToSpeechSupport ? stdenv.hostPlatform.isLinux,
+}:
+
+assert lib.assertMsg (
+ controllerSupport -> stdenv.hostPlatform.isLinux
+) "controllerSupport only has an effect on Linux.";
+
+assert lib.assertMsg (
+ textToSpeechSupport -> stdenv.hostPlatform.isLinux
+) "textToSpeechSupport only has an effect on Linux.";
+
+let
+ projtlauncher' = projtlauncher-unwrapped.override { inherit msaClientID gamemodeSupport; };
+in
+
+symlinkJoin {
+ pname = "projtlauncher";
+ inherit (projtlauncher') version;
+
+ paths = [ projtlauncher' ];
+
+ nativeBuildInputs = [ qt6Packages.wrapQtAppsHook ];
+
+ buildInputs = [
+ qt6Packages.qtbase
+ qt6Packages.qtsvg
+ ]
+ ++ lib.optional stdenv.hostPlatform.isLinux qt6Packages.qtwayland;
+
+ postBuild = ''
+ wrapQtAppsHook
+ '';
+
+ qtWrapperArgs =
+ let
+ runtimeLibs = [
+ (lib.getLib stdenv.cc.cc)
+ ## native versions
+ glfw3-minecraft
+ openal
+
+ ## openal
+ alsa-lib
+ libjack2
+ libpulseaudio
+ pipewire
+
+ ## glfw
+ libGL
+ libX11
+ libXcursor
+ libXext
+ libXrandr
+ libXxf86vm
+
+ udev # oshi
+
+ vulkan-loader # VulkanMod's lwjgl
+ ]
+ ++ lib.optional textToSpeechSupport flite
+ ++ lib.optional gamemodeSupport gamemode.lib
+ ++ lib.optional controllerSupport libusb1
+ ++ additionalLibs;
+
+ runtimePrograms = [
+ mesa-demos
+ pciutils # need lspci
+ xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
+ ]
+ ++ additionalPrograms;
+
+ in
+ [ "--prefix PROJTLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" ]
+ ++ lib.optionals stdenv.hostPlatform.isLinux [
+ "--set LD_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}"
+ "--prefix PATH : ${lib.makeBinPath runtimePrograms}"
+ ];
+
+ meta = {
+ inherit (projtlauncher'.meta)
+ description
+ longDescription
+ homepage
+ changelog
+ license
+ maintainers
+ mainProgram
+ platforms
+ ;
+ };
+}
diff --git a/archived/projt-launcher/docs/packaging/os-specific/macos/homebrew/projtlauncher.rb b/archived/projt-launcher/docs/packaging/os-specific/macos/homebrew/projtlauncher.rb
new file mode 100644
index 0000000000..f8185dfc67
--- /dev/null
+++ b/archived/projt-launcher/docs/packaging/os-specific/macos/homebrew/projtlauncher.rb
@@ -0,0 +1,31 @@
+cask "projtlauncher" do
+ version "0.0.3-4"
+ depends_on macos: :big_sur
+
+ sha256 "68ff5bdaf1e92675a4a660e5b6bf42a989aae30dd6680856e7f691ea44809aec"
+
+ url "https://github.com/Project-Tick/ProjT-Launcher/releases/download/#{version}/ProjTLauncher-macOS-#{version}.zip",
+ verified: "github.com/Project-Tick/ProjT-Launcher/"
+
+ name "ProjT Launcher"
+ desc "Minecraft launcher"
+ homepage "https://projecttick.org/projtlauncher/"
+
+ livecheck do
+ url "https://projecttick.org/projtlauncher/feed/appcast.xml"
+ strategy :sparkle
+ end
+
+ auto_updates true
+
+ app "ProjT Launcher.app"
+ binary "#{appdir}/ProjT Launcher.app/Contents/MacOS/projtlauncher"
+
+ zap trash: [
+ "~/Library/Application Support/ProjT Launcher/metacache",
+ "~/Library/Application Support/ProjT Launcher/projtlauncher-*.log",
+ "~/Library/Application Support/ProjT Launcher/projtlauncher.cfg",
+ "~/Library/Preferences/org.projecttick.ProjTLauncher.plist",
+ "~/Library/Saved Application State/org.projecttick.ProjTLauncher.savedState",
+ ]
+end \ No newline at end of file