Merge branch 'develop' into new-icons

Signed-off-by: Santiago Cézar <48573316+santiagocezar@users.noreply.github.com>
This commit is contained in:
Santiago Cézar 2022-11-27 16:28:42 -03:00 committed by GitHub
commit e6244c937a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 289 additions and 54 deletions

View File

@ -15,6 +15,9 @@ on:
SPARKLE_ED25519_KEY: SPARKLE_ED25519_KEY:
description: Private key for signing Sparkle updates description: Private key for signing Sparkle updates
required: false required: false
CACHIX_AUTH_TOKEN:
description: Private token for authenticating against Cachix cache
required: false
jobs: jobs:
build: build:
@ -526,3 +529,33 @@ jobs:
bundle: "Prism Launcher.flatpak" bundle: "Prism Launcher.flatpak"
manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml
cache-key: flatpak-${{ github.sha }}-x86_64 cache-key: flatpak-${{ github.sha }}-x86_64
nix:
runs-on: ubuntu-latest
strategy:
matrix:
package:
- prismlauncher
- prismlauncher-qt5
steps:
- name: Clone repository
if: inputs.build_type == 'Debug'
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Install nix
if: inputs.build_type == 'Debug'
uses: cachix/install-nix-action@v18
with:
install_url: https://nixos.org/nix/install
extra_nix_config: |
auto-optimise-store = true
experimental-features = nix-command flakes
- uses: cachix/cachix-action@v12
if: inputs.build_type == 'Debug'
with:
name: prismlauncher
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build
if: inputs.build_type == 'Debug'
run: nix build .#${{ matrix.package }} --print-build-logs

View File

@ -8,7 +8,6 @@ on:
- '**.md' - '**.md'
- '**/LICENSE' - '**/LICENSE'
- 'flake.lock' - 'flake.lock'
- '**.nix'
- 'packages/**' - 'packages/**'
- '.github/ISSUE_TEMPLATE/**' - '.github/ISSUE_TEMPLATE/**'
- '.markdownlint**' - '.markdownlint**'
@ -17,7 +16,6 @@ on:
- '**.md' - '**.md'
- '**/LICENSE' - '**/LICENSE'
- 'flake.lock' - 'flake.lock'
- '**.nix'
- 'packages/**' - 'packages/**'
- '.github/ISSUE_TEMPLATE/**' - '.github/ISSUE_TEMPLATE/**'
- '.markdownlint**' - '.markdownlint**'
@ -33,3 +31,4 @@ jobs:
is_qt_cached: true is_qt_cached: true
secrets: secrets:
SPARKLE_ED25519_KEY: ${{ secrets.SPARKLE_ED25519_KEY }} SPARKLE_ED25519_KEY: ${{ secrets.SPARKLE_ED25519_KEY }}
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}

View File

@ -23,8 +23,8 @@
pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system}); pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system});
packagesFn = pkgs: rec { packagesFn = pkgs: rec {
prismlauncher = pkgs.libsForQt5.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; }; prismlauncher-qt5 = pkgs.libsForQt5.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; };
prismlauncher-qt6 = pkgs.qt6Packages.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; }; prismlauncher = pkgs.qt6Packages.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; };
}; };
in in
{ {

View File

@ -27,6 +27,7 @@
<file>scalable/refresh.svg</file> <file>scalable/refresh.svg</file>
<file>scalable/resourcepacks.svg</file> <file>scalable/resourcepacks.svg</file>
<file>scalable/shaderpacks.svg</file> <file>scalable/shaderpacks.svg</file>
<file>scalable/shortcut.svg</file>
<file>scalable/screenshots.svg</file> <file>scalable/screenshots.svg</file>
<file>scalable/settings.svg</file> <file>scalable/settings.svg</file>
<file>scalable/status-bad.svg</file> <file>scalable/status-bad.svg</file>

View File

@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<g
transform="translate(-3,-1033.3622)">
<path
style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 4,7 C 3.4459904,7 3,7.4459904 3,8 l 0,6 c 0,0.55401 0.4459904,1 1,1 l 5,0 c 0.55401,0 1,-0.44599 1,-1 l 0,-1 2,0 0,1 c 0,0.554 0.44599,1 1,1 l 5,0 c 0.55401,0 1,-0.446 1,-1 L 19,8 C 19,7.446 18.55401,7 18,7 l -5,0 c -0.55401,0 -1,0.446 -1,1 l 0,1 -2,0 0,-1 C 10,7.4459904 9.55401,7 9,7 Z M 4,8 7,8 9,8 9,9 C 8.4459904,9 8,9.4459904 8,10 l 0,2 c 0,0.55401 0.4459904,1 1,1 l 0,1 -2,0 -3,0 z m 9,0 3,0 2,0 0,6 -2,0 -3,0 0,-1 c 0.55401,0 1,-0.44599 1,-1 l 0,-2 C 14,9.4459904 13.55401,9 13,9 Z m -4,2 4,0 0,2 -4,0 z"
transform="translate(0,1030.3622)"
id="rect4161"
class="ColorScheme-Text" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 976 B

View File

@ -27,6 +27,7 @@
<file>scalable/refresh.svg</file> <file>scalable/refresh.svg</file>
<file>scalable/resourcepacks.svg</file> <file>scalable/resourcepacks.svg</file>
<file>scalable/shaderpacks.svg</file> <file>scalable/shaderpacks.svg</file>
<file>scalable/shortcut.svg</file>
<file>scalable/screenshots.svg</file> <file>scalable/screenshots.svg</file>
<file>scalable/settings.svg</file> <file>scalable/settings.svg</file>
<file>scalable/status-bad.svg</file> <file>scalable/status-bad.svg</file>

View File

@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<g
transform="translate(-3,-1033.3622)">
<path
style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 4,7 C 3.4459904,7 3,7.4459904 3,8 l 0,6 c 0,0.55401 0.4459904,1 1,1 l 5,0 c 0.55401,0 1,-0.44599 1,-1 l 0,-1 2,0 0,1 c 0,0.554 0.44599,1 1,1 l 5,0 c 0.55401,0 1,-0.446 1,-1 L 19,8 C 19,7.446 18.55401,7 18,7 l -5,0 c -0.55401,0 -1,0.446 -1,1 l 0,1 -2,0 0,-1 C 10,7.4459904 9.55401,7 9,7 Z M 4,8 7,8 9,8 9,9 C 8.4459904,9 8,9.4459904 8,10 l 0,2 c 0,0.55401 0.4459904,1 1,1 l 0,1 -2,0 -3,0 z m 9,0 3,0 2,0 0,6 -2,0 -3,0 0,-1 c 0.55401,0 1,-0.44599 1,-1 l 0,-2 C 14,9.4459904 13.55401,9 13,9 Z m -4,2 4,0 0,2 -4,0 z"
transform="translate(0,1030.3622)"
id="rect4161"
class="ColorScheme-Text" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 976 B

View File

@ -35,6 +35,7 @@
<file>scalable/screenshot-placeholder.svg</file> <file>scalable/screenshot-placeholder.svg</file>
<file>scalable/screenshots.svg</file> <file>scalable/screenshots.svg</file>
<file>scalable/settings.svg</file> <file>scalable/settings.svg</file>
<file>scalable/shortcut.svg</file>
<file>scalable/star.svg</file> <file>scalable/star.svg</file>
<file>scalable/status-bad.svg</file> <file>scalable/status-bad.svg</file>
<file>scalable/status-good.svg</file> <file>scalable/status-good.svg</file>

View File

@ -0,0 +1,3 @@
<svg fill="#757575" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h7v2H5v14h14v-7h2v7q0 .825-.587 1.413Q19.825 21 19 21Zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4Z"/>
</svg>

After

Width:  |  Height:  |  Size: 286 B

View File

@ -35,6 +35,7 @@
<file>scalable/screenshot-placeholder.svg</file> <file>scalable/screenshot-placeholder.svg</file>
<file>scalable/screenshots.svg</file> <file>scalable/screenshots.svg</file>
<file>scalable/settings.svg</file> <file>scalable/settings.svg</file>
<file>scalable/shortcut.svg</file>
<file>scalable/star.svg</file> <file>scalable/star.svg</file>
<file>scalable/status-bad.svg</file> <file>scalable/status-bad.svg</file>
<file>scalable/status-good.svg</file> <file>scalable/status-good.svg</file>

View File

@ -0,0 +1,3 @@
<svg fill="#D8DEE9" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h7v2H5v14h14v-7h2v7q0 .825-.587 1.413Q19.825 21 19 21Zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4Z"/>
</svg>

After

Width:  |  Height:  |  Size: 286 B

View File

@ -338,10 +338,11 @@
<file>scalable/instances/fox_legacy.svg</file> <file>scalable/instances/fox_legacy.svg</file>
<file>scalable/instances/bee_legacy.svg</file> <file>scalable/instances/bee_legacy.svg</file>
<!-- delete, tag, rename CC-BY-SA 3.0, Oxygen icons.--> <!-- delete, tag, rename, shortcut CC-BY-SA 3.0, Oxygen icons.-->
<file>scalable/delete.svg</file> <file>scalable/delete.svg</file>
<file>scalable/tag.svg</file> <file>scalable/tag.svg</file>
<file>scalable/rename.svg</file> <file>scalable/rename.svg</file>
<file>scalable/shortcut.svg</file>
<file>scalable/export.svg</file> <file>scalable/export.svg</file>
<file>scalable/launch.svg</file> <file>scalable/launch.svg</file>

View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="128"
height="128"
id="svg2"
version="1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs4">
<linearGradient
id="linearGradient3185">
<stop
style="stop-color:#eeeeee;stop-opacity:1;"
offset="0"
id="stop3187" />
<stop
style="stop-color:#eeeeee;stop-opacity:0;"
offset="1"
id="stop3189" />
</linearGradient>
<linearGradient
id="linearGradient3133">
<stop
style="stop-color:#646661;stop-opacity:1"
offset="0"
id="stop3135" />
<stop
style="stop-color:#111111;stop-opacity:1"
offset="1"
id="stop3137" />
</linearGradient>
<radialGradient
xlink:href="#linearGradient3133"
id="radialGradient3139"
cx="64"
cy="35.686314"
fx="64"
fy="35.686314"
r="40"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.1360441,0,0,1.446027,-72.706823,-26.184217)" />
<linearGradient
xlink:href="#linearGradient3185"
id="linearGradient3191"
x1="112"
y1="98.41069"
x2="61.978939"
y2="11.771669"
gradientUnits="userSpaceOnUse" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath3393">
<path
style="opacity:1;fill:#dbdbdb;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 13.8125,8 C 10.584167,8 8,10.584167 8,13.8125 L 8,114.1875 C 8,117.41583 10.584167,120 13.8125,120 L 114.1875,120 C 117.41583,120 120,117.41583 120,114.1875 L 120,13.8125 C 120,10.584167 117.41583,8 114.1875,8 L 13.8125,8 z M 21.8125,16 L 106.1875,16 C 109.41583,16 112,18.584167 112,21.8125 L 112,106.1875 C 112,109.41583 109.41583,112 106.1875,112 L 21.8125,112 C 18.584166,112 16,109.41583 16,106.1875 L 16,21.8125 C 16,18.584166 18.584167,16 21.8125,16 z "
id="path3395" />
</clipPath>
<radialGradient
xlink:href="#linearGradient3133"
id="radialGradient3413"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.1360441,0,0,-1.446027,-72.706823,154.18422)"
cx="64"
cy="35.686314"
fx="64"
fy="35.686314"
r="40" />
<radialGradient
xlink:href="#linearGradient3133"
id="radialGradient3417"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.1360441,0,0,1.446027,-72.706823,-25.184217)"
cx="64"
cy="35.686314"
fx="64"
fy="35.686314"
r="40" />
<filter
id="filter3351"
x="-0.048"
y="-0.048"
width="1.096"
height="1.096">
<feGaussianBlur
stdDeviation="2"
id="feGaussianBlur3353" />
</filter>
</defs>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<rect
style="opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3351)"
id="rect3305"
width="100"
height="100"
x="14"
y="14"
rx="7.4348507"
ry="7.4348507"
clip-path="url(#clipPath3393)" />
<rect
ry="5.6263733"
rx="5.6263733"
y="16"
x="16"
height="96"
width="96"
id="rect3141"
style="opacity:0.7;fill:#eeeeee;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:url(#radialGradient3139);fill-opacity:1.0;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2160"
width="80"
height="80"
x="24"
y="24"
rx="5.6263733"
ry="5.6263733" />
<rect
style="opacity:0.7;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3178"
width="95"
height="95"
x="16.5"
y="16.5"
rx="5.6263733"
ry="5.6263733" />
<g
id="g3160"
transform="matrix(1.6656201,0,0,1.6656201,-62.574569,-26.624804)"
style="fill:#ffffff;fill-opacity:1">
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 44.03125 40 L 55.34375 51.3125 C 43.467571 59.035057 35.734919 71.703669 57.34375 93.3125 C 52.734046 74.873684 60.878036 66.021115 70.75 66.71875 L 84 79.96875 L 84 73.3125 L 84 40 L 44.03125 40 z "
transform="matrix(0.600377,0,0,0.600377,37.568332,15.98492)"
id="path2179" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,100 +1,99 @@
{ stdenv { lib
, lib , stdenv
, fetchFromGitHub
, cmake , cmake
, ninja
, jdk8 , jdk8
, jdk , jdk
, ghc_filesystem
, zlib , zlib
, file , file
, wrapQtAppsHook , wrapQtAppsHook
, xorg , xorg
, libpulseaudio , libpulseaudio
, qtbase , qtbase
, quazip , qtsvg
, qtwayland
, libGL , libGL
, msaClientID ? "" , quazip
, extraJDKs ? [ ] , glfw
, openal
, extra-cmake-modules , extra-cmake-modules
, ghc_filesystem
, msaClientID ? ""
, jdks ? [ jdk jdk8 ]
# flake # flake
, self , self
, version , version
, libnbtplusplus , libnbtplusplus
, tomlplusplus , tomlplusplus
, enableLTO ? false
}: }:
let
# Libraries required to run Minecraft
libpath = with xorg; lib.makeLibraryPath [
libX11
libXext
libXcursor
libXrandr
libXxf86vm
libpulseaudio
libGL
];
# This variable will be passed to Minecraft by Prism Launcher
gameLibraryPath = libpath + ":/run/opengl-driver/lib";
javaPaths = lib.makeSearchPath "bin/java" ([ jdk jdk8 ] ++ extraJDKs);
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "prismlauncher"; pname = "prismlauncher";
inherit version; inherit version;
src = lib.cleanSource self; src = lib.cleanSource self;
nativeBuildInputs = [ cmake extra-cmake-modules ninja jdk ghc_filesystem file wrapQtAppsHook ]; nativeBuildInputs = [ extra-cmake-modules cmake file jdk wrapQtAppsHook ];
buildInputs = [ qtbase quazip zlib ]; buildInputs = [
qtbase
qtsvg
zlib
quazip
ghc_filesystem
] ++ lib.optional (lib.versionAtLeast qtbase.version "6") qtwayland;
cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]
++ lib.optionals (lib.versionAtLeast qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=6" ];
dontWrapQtApps = true; dontWrapQtApps = true;
postUnpack = '' postUnpack = ''
# Copy libnbtplusplus
rm -rf source/libraries/libnbtplusplus rm -rf source/libraries/libnbtplusplus
mkdir source/libraries/libnbtplusplus mkdir source/libraries/libnbtplusplus
ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus
chmod -R +r+w source/libraries/libnbtplusplus chmod -R +r+w source/libraries/libnbtplusplus
# Copy tomlplusplus chown -R $USER: source/libraries/libnbtplusplus
rm -rf source/libraries/tomlplusplus rm -rf source/libraries/tomlplusplus
mkdir source/libraries/tomlplusplus mkdir source/libraries/tomlplusplus
ln -s ${tomlplusplus}/* source/libraries/tomlplusplus ln -s ${tomlplusplus}/* source/libraries/tomlplusplus
chmod -R +r+w source/libraries/tomlplusplus chmod -R +r+w source/libraries/tomlplusplus
chown -R $USER: source/libraries/tomlplusplus
''; '';
cmakeFlags = [ postInstall =
"-GNinja" let
"-DLauncher_QT_VERSION_MAJOR=${lib.versions.major qtbase.version}" libpath = with xorg;
] ++ lib.optionals enableLTO [ "-DENABLE_LTO=on" ] lib.makeLibraryPath [
++ lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]; libX11
libXext
libXcursor
libXrandr
libXxf86vm
libpulseaudio
libGL
glfw
openal
stdenv.cc.cc.lib
];
in
''
# xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
wrapQtApp $out/bin/prismlauncher \
--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
--prefix PATH : ${lib.makeBinPath [xorg.xrandr]}
'';
# we have to check if the system is NixOS before adding stdenv.cc.cc.lib (#923)
postInstall = ''
# xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
wrapQtApp $out/bin/prismlauncher \
--run '[ -f /etc/NIXOS ] && export LD_LIBRARY_PATH="${stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"' \
--prefix LD_LIBRARY_PATH : ${gameLibraryPath} \
--prefix PRISMLAUNCHER_JAVA_PATHS : ${javaPaths} \
--prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
'';
meta = with lib; { meta = with lib; {
homepage = "https://prismlauncher.org/"; homepage = "https://prismlauncher.org/";
downloadPage = "https://prismlauncher.org/download/";
changelog = "https://github.com/PrismLauncher/PrismLauncher/releases";
description = "A free, open source launcher for Minecraft"; description = "A free, open source launcher for Minecraft";
longDescription = '' longDescription = ''
Allows you to have multiple, separate instances of Minecraft (each with Allows you to have multiple, separate instances of Minecraft (each with
their own mods, texture packs, saves, etc) and helps you manage them and their own mods, texture packs, saves, etc) and helps you manage them and
their associated options with a simple interface. their associated options with a simple interface.
''; '';
platforms = platforms.unix; platforms = platforms.linux;
changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ minion3665 Scrumplex ]; maintainers = with maintainers; [ minion3665 Scrumplex ];
}; };