commit
974c89b9c3
@ -2,3 +2,6 @@
|
||||
|
||||
# tabs -> spaces
|
||||
bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9
|
||||
|
||||
# (nix) alejandra -> nixfmt
|
||||
4c81d8c53d09196426568c4a31a4e752ed05397a
|
||||
|
53
.github/workflows/build.yml
vendored
53
.github/workflows/build.yml
vendored
@ -39,6 +39,9 @@ on:
|
||||
APPLE_NOTARIZE_PASSWORD:
|
||||
description: Password used for notarizing macOS builds
|
||||
required: false
|
||||
CACHIX_AUTH_TOKEN:
|
||||
description: Private token for authenticating against Cachix cache
|
||||
required: false
|
||||
GPG_PRIVATE_KEY:
|
||||
description: Private key for AppImage signing
|
||||
required: false
|
||||
@ -631,3 +634,53 @@ jobs:
|
||||
with:
|
||||
bundle: "Prism Launcher.flatpak"
|
||||
manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml
|
||||
|
||||
nix:
|
||||
name: Nix (${{ matrix.system }})
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-22.04
|
||||
system: x86_64-linux
|
||||
|
||||
- os: macos-13
|
||||
system: x86_64-darwin
|
||||
|
||||
- os: macos-14
|
||||
system: aarch64-darwin
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v27
|
||||
|
||||
# For PRs
|
||||
- name: Setup Nix Magic Cache
|
||||
uses: DeterminateSystems/magic-nix-cache-action@v8
|
||||
|
||||
# For in-tree builds
|
||||
- name: Setup Cachix
|
||||
uses: cachix/cachix-action@v15
|
||||
with:
|
||||
name: prismlauncher
|
||||
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||
|
||||
- name: Run flake checks
|
||||
run: |
|
||||
nix flake check --print-build-logs --show-trace
|
||||
|
||||
- name: Build debug package
|
||||
if: ${{ inputs.build_type == 'Debug' }}
|
||||
run: |
|
||||
nix build --print-build-logs .#prismlauncher-debug
|
||||
|
||||
- name: Build release package
|
||||
if: ${{ inputs.build_type != 'Debug' }}
|
||||
run: |
|
||||
nix build --print-build-logs .#prismlauncher
|
||||
|
1
.github/workflows/trigger_builds.yml
vendored
1
.github/workflows/trigger_builds.yml
vendored
@ -38,5 +38,6 @@ jobs:
|
||||
APPLE_NOTARIZE_APPLE_ID: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }}
|
||||
APPLE_NOTARIZE_TEAM_ID: ${{ secrets.APPLE_NOTARIZE_TEAM_ID }}
|
||||
APPLE_NOTARIZE_PASSWORD: ${{ secrets.APPLE_NOTARIZE_PASSWORD }}
|
||||
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
GPG_PRIVATE_KEY_ID: ${{ secrets.GPG_PRIVATE_KEY_ID }}
|
||||
|
1
.github/workflows/trigger_release.yml
vendored
1
.github/workflows/trigger_release.yml
vendored
@ -22,6 +22,7 @@ jobs:
|
||||
APPLE_NOTARIZE_APPLE_ID: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }}
|
||||
APPLE_NOTARIZE_TEAM_ID: ${{ secrets.APPLE_NOTARIZE_TEAM_ID }}
|
||||
APPLE_NOTARIZE_PASSWORD: ${{ secrets.APPLE_NOTARIZE_PASSWORD }}
|
||||
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
GPG_PRIVATE_KEY_ID: ${{ secrets.GPG_PRIVATE_KEY_ID }}
|
||||
|
||||
|
25
flake.nix
25
flake.nix
@ -2,8 +2,10 @@
|
||||
description = "A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)";
|
||||
|
||||
nixConfig = {
|
||||
extra-substituters = [ "https://cache.garnix.io" ];
|
||||
extra-trusted-public-keys = [ "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" ];
|
||||
extra-substituters = [ "https://prismlauncher.cachix.org" ];
|
||||
extra-trusted-public-keys = [
|
||||
"prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
|
||||
];
|
||||
};
|
||||
|
||||
inputs = {
|
||||
@ -118,5 +120,24 @@
|
||||
# Only output them if they're available on the current system
|
||||
lib.filterAttrs (_: lib.meta.availableOn pkgs.stdenv.hostPlatform) packages
|
||||
);
|
||||
|
||||
# We put these under legacyPackages as they are meant for CI, not end user consumption
|
||||
legacyPackages = forAllSystems (
|
||||
system:
|
||||
let
|
||||
prismPackages = self.packages.${system};
|
||||
legacyPackages = self.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
prismlauncher-debug = prismPackages.prismlauncher.override {
|
||||
prismlauncher-unwrapped = legacyPackages.prismlauncher-unwrapped-debug;
|
||||
};
|
||||
|
||||
prismlauncher-unwrapped-debug = prismPackages.prismlauncher-unwrapped.overrideAttrs {
|
||||
cmakeBuildType = "Debug";
|
||||
dontStrip = true;
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
10
garnix.yaml
10
garnix.yaml
@ -1,10 +0,0 @@
|
||||
builds:
|
||||
exclude:
|
||||
# Currently broken on Garnix's end
|
||||
- "*.x86_64-darwin.*"
|
||||
include:
|
||||
- "checks.x86_64-linux.*"
|
||||
- "packages.x86_64-linux.*"
|
||||
- "packages.aarch64-linux.*"
|
||||
- "packages.x86_64-darwin.*"
|
||||
- "packages.aarch64-darwin.*"
|
@ -1026,7 +1026,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
|
||||
|
||||
// notify user if /tmp is mounted with `noexec` (#1693)
|
||||
QString jvmArgs = m_settings->get("JvmArgs").toString();
|
||||
if(jvmArgs.indexOf("java.io.tmpdir") == -1) { /* java.io.tmpdir is a valid workaround, so don't annoy */
|
||||
if (jvmArgs.indexOf("java.io.tmpdir") == -1) { /* java.io.tmpdir is a valid workaround, so don't annoy */
|
||||
bool is_tmp_noexec = false;
|
||||
|
||||
#if defined(Q_OS_LINUX)
|
||||
|
@ -235,7 +235,6 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
}
|
||||
|
||||
ui->actionViewJavaFolder->setEnabled(BuildConfig.JAVA_DOWNLOADER_ENABLED);
|
||||
|
||||
}
|
||||
|
||||
// add the toolbar toggles to the view menu
|
||||
|
@ -8,8 +8,8 @@ See [Package variants](#package-variants) for a list of available packages.
|
||||
|
||||
## Installing a development release (flake)
|
||||
|
||||
We use [garnix](https://garnix.io/) to build and cache our development builds.
|
||||
If you want to avoid rebuilds you may add the garnix cache to your substitutors, or use `--accept-flake-config`
|
||||
We use [cachix](https://cachix.org/) to cache our development and release builds.
|
||||
If you want to avoid rebuilds you may add the Cachix bucket to your substitutors, or use `--accept-flake-config`
|
||||
to temporarily enable it when using `nix` commands.
|
||||
|
||||
Example (NixOS):
|
||||
@ -17,12 +17,10 @@ Example (NixOS):
|
||||
```nix
|
||||
{
|
||||
nix.settings = {
|
||||
trusted-substituters = [
|
||||
"https://cache.garnix.io"
|
||||
];
|
||||
trusted-substituters = [ "https://prismlauncher.cachix.org" ];
|
||||
|
||||
trusted-public-keys = [
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
"prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
|
||||
];
|
||||
};
|
||||
}
|
||||
@ -137,20 +135,18 @@ nix profile install github:PrismLauncher/PrismLauncher
|
||||
|
||||
## Installing a development release (without flakes)
|
||||
|
||||
We use [garnix](https://garnix.io/) to build and cache our development builds.
|
||||
If you want to avoid rebuilds you may add the garnix cache to your substitutors.
|
||||
We use [Cachix](https://cachix.org/) to cache our development and release builds.
|
||||
If you want to avoid rebuilds you may add the Cachix bucket to your substitutors.
|
||||
|
||||
Example (NixOS):
|
||||
|
||||
```nix
|
||||
{
|
||||
nix.settings = {
|
||||
trusted-substituters = [
|
||||
"https://cache.garnix.io"
|
||||
];
|
||||
trusted-substituters = [ "https://prismlauncher.cachix.org" ];
|
||||
|
||||
trusted-public-keys = [
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
"prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
cd ${self}
|
||||
|
||||
echo "Running clang-format...."
|
||||
clang-format -i --style='file' --Werror */**.{c,cc,cpp,h,hh,hpp}
|
||||
clang-format --dry-run --style='file' --Werror */**.{c,cc,cpp,h,hh,hpp}
|
||||
|
||||
echo "Running deadnix..."
|
||||
deadnix --fail
|
||||
|
Loading…
Reference in New Issue
Block a user