v2.2 - Drop .deb and other jailbreak changes (#448)

* Merge 'main' into '2.2-nojb' (#447)

* Changes

- Refine WKWebView on notched devices (worked fine on my 7 as well...)
- Add iDevice model, iOS version, and install to General footer

* New debug option: auto correction

Sometimes autocorrection can be annoying, so there's now a toggle,
enabled by default to preserve behavior.

* Changes to custom controls

Allow saving to default.json
Put custom controls editor to in-game menu
Localization

* Rename renderer: tinygl4angle to ANGLE

This avoids confusion between Android and iOS version when mentioning
this renderer

* GLFW.java: add glfwExtensionSupported

* New Crowdin updates (#438)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Finnish)

* New translations Localizable.strings (English)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Estonian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Swedish)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Portuguese, Brazilian)

* New translations Localizable.strings (Persian)

* New translations Localizable.strings (Bengali)

* New translations Localizable.strings (Thai)

* New translations Localizable.strings (Kazakh)

* New translations Localizable.strings (Hindi)

* New translations Localizable.strings (Slovak)

* New translations Localizable.strings (Malay)

* New translations Localizable.strings (English, United Kingdom)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Tatar)

* New translations Localizable.strings (Latin)

* New translations Localizable.strings (Bashkir)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (LOLCAT)

* New translations Localizable.strings (Serbian (Cyrillic))

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (German)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Romanian)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (Catalan)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Greek)

* New translations Localizable.strings (Portuguese)

* New translations Localizable.strings (Finnish)

* New translations Localizable.strings (Hebrew)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Japanese)

* New translations Localizable.strings (Korean)

* New translations Localizable.strings (Lithuanian)

* New translations Localizable.strings (Dutch)

* New translations Localizable.strings (Norwegian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Russian (pre-revolutionary))

* New translations Localizable.strings (Estonian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (Estonian)

* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Estonian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (English)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Portuguese, Brazilian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Portuguese, Brazilian)

* New translations Localizable.strings (Portuguese, Brazilian)

Co-authored-by: Eilionoir Tunnicliff <[email protected]>

Co-authored-by: Duy Tran Khanh <[email protected]>
Co-authored-by: Duy Tran Khanh <[email protected]>

* Makefile changes

Should incorporate everything under "Rewrite makefile to be one-for-all" for #448 

I have no idea if this works, I know the workflow will fail at least because of the make deb, make ipa blah blah

* Change workflow to work with the rewrite

- Shouldn't need JAVA_HOME set anymore, as the Makefile sets it 
- make package
- Remove .deb

* Remove extraneous else

* Add /bin to JAVA_HOME for macOS

* Remove extras from package dependencies

* for real coal

Makefile added a space in the version smh

* Change to dsym

and we're done

* Update release workflow

* Fix dsym recipe

and now we're done

* NOSTDIN fixes + theoretically fix dsym

* Remove extraneous @

* DEBIAN Removal: 1/5

* DEBIAN Removal: 2/5

* DEBIAN Removal: 3/5

* DEBIAN Removal: 4/5

* DEBIAN Removal: 5/5

I hate GitHub web as much as you

* Remove LaunchScreen.storyboard

Co-authored-by: Duy Tran Khanh <[email protected]>
Co-authored-by: Duy Tran Khanh <[email protected]>
This commit is contained in:
authored and GitHub committed 2022-12-18 01:33:41 -05:00
1 parent 6373662850
commit befafed4fa
14 files changed
+69 -336

No files matched your search

+1 -14
View File
@@ -58,20 +58,7 @@ jobs:
password: ${{ secrets.ELLIE_MINI_SECRET }}
run: |
export NOSTDIN=1 SUDOPASS=$password RUNNER=1
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
gmake -j$(sysctl -n hw.ncpu) ipa
- name: Upload regular artifact
uses: actions/upload-artifact@v2
with:
name: net.kdt.pojavlauncher.development_iphoneos-arm.deb
path: artifacts/net.kdt.pojavlauncher.*_iphoneos-arm.deb
- name: Upload rootless artifact
uses: actions/upload-artifact@v2
with:
name: net.kdt.pojavlauncher.development-rootless_iphoneos-arm.deb
path: artifacts/net.kdt.pojavlauncher.*_iphoneos-arm64.deb
gmake -j$(sysctl -n hw.ncpu) dsym
- name: Upload IPA artifact
uses: actions/upload-artifact@v2
+1 -14
View File
@@ -53,20 +53,7 @@ jobs:
run: |
export RELEASE=1
export NOSTDIN=1 SUDOPASS=$password RUNNER=1
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
gmake -j$(sysctl -n hw.ncpu) ipa
- name: Upload regular artifact
uses: actions/upload-artifact@v2
with:
name: net.kdt.pojavlauncher.release_iphoneos-arm.deb
path: artifacts/net.kdt.pojavlauncher.*_iphoneos-arm.deb
- name: Upload rootless artifact
uses: actions/upload-artifact@v2
with:
name: net.kdt.pojavlauncher.release-rootless_iphoneos-arm.deb
path: artifacts/net.kdt.pojavlauncher.*_iphoneos-arm64.deb
gmake -j$(sysctl -n hw.ncpu) dsym
- name: Upload IPA artifact
uses: actions/upload-artifact@v2
-15
View File
@@ -1,15 +0,0 @@
Package: net.kdt.pojavlauncher.development
Name: PojavLauncher iOS (Development)
Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm
Version: 2.1
Depends: firmware (>= 12.0), firmware (<< 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development-rootless
Replaces: pojavlauncher-dev, pojavlauncher
Section: Games
Priority: optional
Homepage: https://github.com/PojavLauncherTeam/PojavLauncher_iOS
Description: Minecraft: Java Edition launcher for iOS, based on PojavLauncher Android.
Icon: https://repository.crystall1ne.software/images/pojavlauncher_icon.png
SileoDepiction: https://repository.crystall1ne.software/depictions/natives/net.kdt.pojavlauncher.development.json
-15
View File
@@ -1,15 +0,0 @@
Package: net.kdt.pojavlauncher.development-rootless
Name: PojavLauncher iOS (Development) Rootless
Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm64
Version: 2.1
Depends: firmware (>= 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development
Replaces: pojavlauncher-dev, pojavlauncher
Section: Games
Priority: optional
Homepage: https://github.com/PojavLauncherTeam/PojavLauncher_iOS
Description: Minecraft: Java Edition launcher for iOS, based on PojavLauncher Android.
Icon: https://repository.crystall1ne.software/images/pojavlauncher_icon.png
SileoDepiction: https://repository.crystall1ne.software/depictions/natives/net.kdt.pojavlauncher.development-rootless.json
-15
View File
@@ -1,15 +0,0 @@
Package: net.kdt.pojavlauncher.release
Name: PojavLauncher iOS
Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm
Version: 2.1
Depends: firmware (>= 12.0), firmware (<< 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release-rootless, net.kdt.pojavlauncher.development, net.kdt.pojavlauncher.development-rootless
Replaces: pojavlauncher, pojavlauncher-dev
Section: Games
Priority: optional
Homepage: https://github.com/PojavLauncherTeam/PojavLauncher_iOS
Description: Minecraft: Java Edition launcher for iOS, based on PojavLauncher Android.
Icon: https://repository.crystall1ne.software/images/pojavlauncher_icon.png
SileoDepiction: https://repository.crystall1ne.software/depictions/natives/net.kdt.pojavlauncher.release.json
-16
View File
@@ -1,16 +0,0 @@
Package: net.kdt.pojavlauncher.release-rootless
Name: PojavLauncher iOS Rootless
Maintainer: PojavLauncherTeam <https://discord.gg/6RpEJda>
Author: DuyKhanhTran
Architecture: iphoneos-arm
Version: 2.1
Depends: firmware (>= 15.0)
Conflicts: pojavlauncher-dev, pojavlauncher-zink, pojavlauncher, net.kdt.pojavlauncher.release, net.kdt.pojavlauncher.development, net.kdt.pojavlauncher.development-rootless
Replaces: pojavlauncher, pojavlauncher-dev
Section: Games
Priority: optional
Homepage: https://github.com/PojavLauncherTeam/PojavLauncher_iOS
Description: Minecraft: Java Edition launcher for iOS, based on PojavLauncher Android.
Icon: https://repository.crystall1ne.software/images/pojavlauncher_icon.png
SileoDepiction: https://repository.crystall1ne.software/depictions/natives/net.kdt.pojavlauncher.release-rootless.json
-12
View File
@@ -1,12 +0,0 @@
#!/bin/sh
if [ -d '/private/preboot/procursus' ]; then
export PREFIX=/private/preboot/procursus
fi
chown -R 501:501 $PREFIX/usr/share/pojavlauncher
chmod -R 0755 $PREFIX/usr/share/pojavlauncher
echo " "
echo "PojavLauncher has been installed! Take a look at the wiki to learn more about PojavLauncher at https://pojav.ml."
+67 -191
View File
@@ -7,10 +7,9 @@ OUTPUTDIR := $(SOURCEDIR)/artifacts
WORKINGDIR := $(SOURCEDIR)/Natives/build
DETECTPLAT := $(shell uname -s)
DETECTARCH := $(shell uname -m)
VERSION := $(shell cat $(SOURCEDIR)/DEBIAN/control.development | grep Version | cut -b 10-60)
VERSION := 2.2
BRANCH := $(shell git branch --show-current)
COMMIT := $(shell git log --oneline | sed '2,10000000d' | cut -b 1-7)
IOS15PREF := private/preboot/procursus
# Release vs Debug
RELEASE ?= 0
@@ -30,32 +29,19 @@ ifeq ($(DETECTPLAT),Darwin)
ifeq ($(shell sw_vers -productName),macOS)
IOS := 0
SDKPATH ?= $(shell xcrun --sdk iphoneos --show-sdk-path)
BOOTJDK ?= /usr/bin
ifneq (,$(findstring arm,DETECTARCH))
SYSARCH := arm
$(warning Building on an Apple-Silicon Mac.)
else ifneq (,$(findstring 86,$(DETECTARCH)))
SYSARCH := x86_64
$(warning Building on an Intel or AMD-based Mac.)
endif
ifdef DEVICE_IP
DEVICE_PORT ?= 22
endif
BOOTJDK ?= $(shell /usr/libexec/java_home -v 1.8)/bin
$(warning Building on macOS.)
else
IOS := 1
SDKPATH ?= /usr/share/SDKs/iPhoneOS.sdk
BOOTJDK ?= /usr/lib/jvm/java-8-openjdk/bin
SYSARCH := arm
DEVICE_IP ?= 127.0.0.1
DEVICE_PORT ?= 22
$(warning Building on a jailbroken iOS device.)
$(warning Building on iOS.)
endif
else ifeq ($(DETECTPLAT),Linux)
$(warning Building on Linux. Note that all targets may not compile or require external components.)
IOS := 0
# SDKPATH presence is checked later
BOOTJDK ?= /usr/bin
SYSARCH := $(shell uname -m)
$(warning Building on Linux. Note that all targets may not compile or require external components.)
else
$(error This platform is not currently supported for building PojavLauncher.)
endif
@@ -76,43 +62,6 @@ INFOPLIST = \
plutil -value $(2) -key $(1) $(3); \
fi
# Function to use for packaging
PACKAGING = \
ldid -S $(OUTPUTDIR)/PojavLauncher.app; \
ldid -S$(SOURCEDIR)/entitlements.xml $(OUTPUTDIR)/PojavLauncher.app/PojavLauncher; \
mkdir -p $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_iphoneos-arm; \
cd $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_iphoneos-arm; \
mkdir -p {DEBIAN,Applications,usr/share/pojavlauncher/{accounts,instances/default,Library/{Application\ Support,Caches}}}; \
cd usr/share/pojavlauncher; \
ln -sf ../../instances/default Library/Application\ Support/minecraft; \
cd $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_iphoneos-arm; \
if [ '$(NOSTDIN)' = '1' ]; then \
echo '$(SUDOPASS)' | sudo -S chown -R 501:501 usr/share/pojavlauncher; \
else \
sudo chown -R 501:501 usr/share/pojavlauncher; \
fi; \
cp -r $(OUTPUTDIR)/PojavLauncher.app Applications/PojavLauncher.app; \
cp $(SOURCEDIR)/DEBIAN/control.$(1) DEBIAN/control; \
cp $(SOURCEDIR)/DEBIAN/postinst DEBIAN/postinst; \
cd $(OUTPUTDIR); \
fakeroot dpkg-deb -Zxz -b $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_iphoneos-arm; \
mkdir -p $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)-rootless_$(VERSION)_iphoneos-arm64; \
cd $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)-rootless_$(VERSION)_iphoneos-arm64; \
mkdir -p {DEBIAN,$(IOS15PREF)/{Applications,usr/share/pojavlauncher/{accounts,instances/default,Library/{Application\ Support,Caches}}}}; \
cd $(IOS15PREF)/usr/share/pojavlauncher; \
ln -sf ../../instances/default Library/Application\ Support/minecraft; \
cd $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)-rootless_$(VERSION)_iphoneos-arm64; \
if [ '$(NOSTDIN)' = '1' ]; then \
echo '$(SUDOPASS)' | sudo -S chown -R 501:501 $(IOS15PREF)/usr/share/pojavlauncher; \
else \
sudo chown -R 501:501 $(IOS15PREF)/usr/share/pojavlauncher; \
fi; \
cp -r $(OUTPUTDIR)/PojavLauncher.app $(IOS15PREF)/Applications/PojavLauncher.app; \
cp -r $(SOURCEDIR)/DEBIAN/control.$(1)-rootless DEBIAN/control; \
cp $(SOURCEDIR)/DEBIAN/postinst DEBIAN/postinst; \
cd $(OUTPUTDIR); \
fakeroot dpkg-deb -Zxz -b $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)-rootless_$(VERSION)_iphoneos-arm64
# Function to check directories
DIRCHECK = \
if [ ! -d '$(1)' ]; then \
@@ -121,43 +70,6 @@ DIRCHECK = \
sudo rm -rf $(1)/*; \
fi
# Function to copy + install
INSTALL = \
echo 'Please note that this may not work properly. If it doesn'\''t work for you, you can manually extract the .deb in /var/tmp/net.kdt.pojavlauncher.$(1)_$(VERSION)_$(2).deb with dpkg or Filza.'; \
if [ '$(4)' = '0' ]; then \
scp -P $(DEVICE_PORT) $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_$(2).deb root@$(DEVICE_IP):/var/tmp/net.kdt.pojavlauncher.$(1)_$(VERSION)_$(2).deb; \
ssh root@$(DEVICE_IP) -p $(DEVICE_PORT) -t "dpkg -i /var/tmp/net.kdt.pojavlauncher.$(1)_$(VERSION)_$(2).deb; uicache -p $(3)/Applications/PojavLauncher.app"; \
else \
sudo dpkg -i $(OUTPUTDIR)/net.kdt.pojavlauncher.$(1)_$(VERSION)_$(2).deb; uicache -p $(3)/Applications/PojavLauncher.app; \
fi
# Function to copy + deploy
DEPLOY = \
ldid -S$(SOURCEDIR)/entitlements.xml $(WORKINGDIR)/PojavLauncher.app/PojavLauncher; \
if [ '$(2)' = '0' ]; then \
scp -r -P $(DEVICE_PORT) -o "StrictHostKeyChecking no" -o "UserKnownHostsFile=/dev/null" \
$(WORKINGDIR)/*.framework \
$(WORKINGDIR)/*.dylib \
$(WORKINGDIR)/PojavLauncher.app/PojavLauncher \
$(SOURCEDIR)/JavaApp/local_out/*.jar \
root@$(DEVICE_IP):/var/tmp/; \
ssh root@$(DEVICE_IP) -p $(DEVICE_PORT) -t " \
mv /var/tmp/*.dylib $(1)/Applications/PojavLauncher.app/Frameworks/ && \
mv /var/tmp/*.framework $(1)/Applications/PojavLauncher.app/Frameworks/ && \
mv /var/tmp/PojavLauncher $(1)/Applications/PojavLauncher.app/PojavLauncher && \
mv /var/tmp/*.jar $(1)/Applications/PojavLauncher.app/libs/ && \
cd $(1)/Applications/PojavLauncher.app/Frameworks && \
chown -R 501:501 $(1)/Applications/PojavLauncher.app/*"; \
else \
sudo rm -rf $(1)/Applications/PojavLauncher.app/Frameworks/libOSMesaOverride.dylib.framework; \
sudo mv $(WORKINGDIR)/*.dylib $(1)/Applications/PojavLauncher.app/Frameworks/; \
sudo mv $(WORKINGDIR)/*.framework $(1)/Applications/PojavLauncher.app/Frameworks/; \
sudo mv $(WORKINGDIR)/PojavLauncher.app/PojavLauncher $(1)/Applications/PojavLauncher.app/PojavLauncher; \
sudo mv $(SOURCEDIR)/JavaApp/local_out/*.jar $(1)/Applications/PojavLauncher.app/libs/; \
cd $(1)/Applications/PojavLauncher.app/Frameworks; \
sudo chown -R 501:501 $(1)/Applications/PojavLauncher.app/*; \
fi
# Make sure everything is already available for use. Error if they require something
ifneq ($(call DEPCHECK,cmake --version),1)
$(error You need to install cmake)
@@ -177,14 +89,6 @@ ifneq ($(call DEPCHECK,ldid),1)
$(error You need to install ldid)
endif
ifneq ($(call DEPCHECK,fakeroot -v),1)
$(error You need to install fakeroot)
endif
ifneq ($(call DEPCHECK,dpkg-deb --version),1)
$(error You need to install dpkg-dev)
endif
ifeq ($(DETECTPLAT),Linux)
ifneq ($(call DEPCHECK,lld),1)
$(error You need to install lld)
@@ -211,14 +115,13 @@ endif
# check - Makes sure that all variables are correct.
# native - Builds the Objective-C code.
# java - Builds the Java code.
# jre - Download iOS JRE and/or unpack it for use.
# extras - Builds the Assets and Storyboard.
# deb - Builds the Debian package. Will be removed in 2.2.
# ipa - Builds the application package.
# install - runs deb + installs to jailbroken device. Will be removed in 2.2.
# deploy - runs native and java + installs to jailbroken device. Will be removed in 2.2.
# package - Builds the application package.
# deploy - runs native and java + installs to jailbroken device.
# dsym - Generates debug symbol files
all: clean native java extras deb dsym ipa
all: clean native java jre extras package dsym
check:
@printf '\nDumping all Makefile variables.\n'
@@ -234,17 +137,13 @@ check:
@printf 'BRANCH - $(BRANCH)\n'
@printf 'COMMIT - $(COMMIT)\n'
@printf 'RELEASE - $(RELEASE)\n'
@printf 'IOS15PREF - $(IOS15PREF)\n'
@printf 'IOS - $(IOS)\n'
@printf 'SYSARCH - $(SYSARCH)\n'
@printf 'POJAV_BUNDLE_DIR - $(POJAV_BUNDLE_DIR)\n'
@printf 'POJAV_JRE_DIR - $(POJAV_JRE_DIR)\n'
@printf 'DEVICE_IP - $(DEVICE_IP)\n'
@printf 'DEVICE_PORT - $(DEVICE_PORT)\n'
@printf '\nVerify that all of the variables are correct.\n'
native:
@echo 'Building PojavLauncher $(VERSION) - NATIVES - Start'
@echo '[PojavLauncher v$(VERSION)] native - start'
@mkdir -p $(WORKINGDIR)
@cd $(WORKINGDIR) && cmake . \
-DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) \
@@ -253,7 +152,7 @@ native:
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
-DCMAKE_OSX_SYSROOT="$(SDKPATH)" \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_C_FLAGS="-arch arm64 -miphoneos-version-min=12.0" \
-DCMAKE_C_FLAGS="-arch arm64 -miphoneos-version-min=12.2" \
-DCONFIG_BRANCH="$(BRANCH)" \
-DCONFIG_COMMIT="$(COMMIT)" \
-DCONFIG_RELEASE=$(RELEASE) \
@@ -262,10 +161,10 @@ native:
@cmake --build $(WORKINGDIR) --config $(CMAKE_BUILD_TYPE) -j$(JOBS)
@# --target awt_headless awt_xawt libOSMesaOverride.dylib tinygl4angle PojavLauncher
@rm $(WORKINGDIR)/libawt_headless.dylib
@echo 'Building PojavLauncher $(VERSION) - NATIVES - End'
@echo '[PojavLauncher v$(VERSION)] native - end'
java:
@echo 'Building PojavLauncher $(VERSION) - JAVA - Start'
@echo '[PojavLauncher v$(VERSION)] java - start'
@cd $(SOURCEDIR)/JavaApp; \
mkdir -p local_out/classes; \
$(BOOTJDK)/javac -cp "libs/*:libs_caciocavallo/*" -d local_out/classes $$(find src -type f -name "*.java" -print) -XDignore.symbol.file || exit 1; \
@@ -273,20 +172,10 @@ java:
$(BOOTJDK)/jar -cf ../launcher.jar android com net || exit 1; \
cp $(SOURCEDIR)/JavaApp/libs/lwjgl3-minecraft.jar ../lwjgl3-minecraft.jar || exit 1; \
$(BOOTJDK)/jar -uf ../lwjgl3-minecraft.jar org || exit 1;
@echo 'Building PojavLauncher $(VERSION) - JAVA - End'
extras:
@echo 'Building PojavLauncher $(VERSION) - EXTRA - Start'
@if [ '$(IOS)' = '0' ]; then \
mkdir -p $(WORKINGDIR)/PojavLauncher.app/Base.lproj; \
xcrun actool $(SOURCEDIR)/Natives/Assets.xcassets --compile $(SOURCEDIR)/Natives/resources --platform iphoneos --minimum-deployment-target 12.0 --app-icon AppIcon-Light --alternate-app-icon AppIcon-Dark --output-partial-info-plist /dev/null || exit 1; \
ibtool --compile $(WORKINGDIR)/PojavLauncher.app/Base.lproj/LaunchScreen.storyboardc $(SOURCEDIR)/Natives/en.lproj/LaunchScreen.storyboard || exit 1; \
elif [ '$(IOS)' = '1' ]; then \
echo 'Due to the required tools not being available, you cannot compile the extras for PojavLauncher with an iOS device.'; \
fi
@echo 'Building PojavLauncher $(VERSION) - EXTRAS - End'
@echo '[PojavLauncher v$(VERSION)] java - end'
jre:
@echo '[PojavLauncher v$(VERSION)] jre - start'
@mkdir -p $(SOURCEDIR)/depends; \
cd $(SOURCEDIR)/depends; \
if [ ! -f "java-8-openjdk/release" ] && [ ! -f "$(ls jre8-*.tar.xz)" ]; then \
@@ -313,15 +202,10 @@ jre:
cp -R $(POJAV_JRE17_DIR) $(WORKINGDIR)/PojavLauncher.app/jvm/; \
cp $(WORKINGDIR)/libawt_xawt.dylib $(WORKINGDIR)/PojavLauncher.app/jvm/java-17-openjdk/lib/; \
cp $(WORKINGDIR)/libawt_xawt.dylib $(WORKINGDIR)/PojavLauncher.app/jvm/java-8-openjdk/lib/; \
echo '[PojavLauncher v$(VERSION)] jre - end'
deb: native java extras jre
@echo 'Building PojavLauncher $(VERSION) - DEB - Start'
@if [ '$(IOS)' = '1' ]; then \
mkdir -p $(WORKINGDIR)/PojavLauncher.app/{Frameworks,Base.lproj}; \
cp -R $(SOURCEDIR)/Natives/en.lproj/*.storyboardc $(WORKINGDIR)/PojavLauncher.app/Base.lproj/ || exit 1; \
cp -R $(SOURCEDIR)/Natives/Info.plist $(WORKINGDIR)/PojavLauncher.app/Info.plist || exit 1;\
cp -R $(SOURCEDIR)/Natives/PkgInfo $(WORKINGDIR)/PojavLauncher.app/PkgInfo || exit 1; \
fi
package: native java jre
@echo '[PojavLauncher v$(VERSION)] package - start'
$(call DIRCHECK,$(WORKINGDIR)/PojavLauncher.app/libs)
$(call DIRCHECK,$(WORKINGDIR)/PojavLauncher.app/libs_caciocavallo)
$(call DIRCHECK,$(WORKINGDIR)/PojavLauncher.app/libs_caciocavallo17)
@@ -334,70 +218,61 @@ deb: native java extras jre
@cp -R $(SOURCEDIR)/Natives/*.lproj $(WORKINGDIR)/PojavLauncher.app/ || exit 1
$(call DIRCHECK,$(OUTPUTDIR))
@cp -R $(WORKINGDIR)/PojavLauncher.app $(OUTPUTDIR)
@if [ '$(RELEASE)' = '1' ]; then \
$(call PACKAGING,release); \
else \
$(call PACKAGING,development); \
fi
@echo 'Building PojavLauncher $(VERSION) - DEB - End'
dsym: deb
@echo 'Building PojavLauncher $(VERSION) - DSYM - Start'
@cd $(OUTPUTDIR) && dsymutil --arch arm64 $(OUTPUTDIR)/PojavLauncher.app/PojavLauncher
@rm -rf $(OUTPUTDIR)/PojavLauncher.dSYM
@mv $(OUTPUTDIR)/PojavLauncher.app/PojavLauncher.dSYM $(OUTPUTDIR)/PojavLauncher.dSYM
@echo 'Building PojavLauncher $(VERSION) - DSYM - Start'
ipa: dsym
echo 'Building PojavLauncher $(VERSION) - IPA - Start'
ldid -S$(SOURCEDIR)/entitlements.xml $(OUTPUTDIR)/PojavLauncher.app/PojavLauncher; \
rm -f $(OUTPUTDIR)/*.ipa; \
cd $(OUTPUTDIR); \
$(call DIRCHECK,Payload); \
mv PojavLauncher.app Payload/; \
chmod -R 755 Payload; \
sudo chown -R 501:501 Payload; \
if [ '$(NOSTDIN)' = '1' ]; then \
echo '$(SUDOPASS)' | sudo -S chown -R 501:501 Payload; \
else \
sudo chown -R 501:501 Payload; \
fi; \
zip --symlinks -r $(OUTPUTDIR)/net.kdt.pojavlauncher-$(VERSION).ipa Payload/*
@echo 'Building PojavLauncher $(VERSION) - IPA - End'
@echo '[PojavLauncher v$(VERSION)] package - end'
install: deb
@echo 'Building PojavLauncher $(VERSION) - INSTALL - Start'
@if [ '$(DEVICE_IP)' != '' ]; then \
if [ '$(RELEASE)' = '1' ]; then \
if [ '$(ROOTLESS)' = '1' ]; then \
$(call INSTALL,release-rootless,iphoneos-arm64,$(IOS15PREF)); \
else \
$(call INSTALL,release,iphoneos-arm); \
fi; \
else \
if [ '$(ROOTLESS)' = '1' ]; then \
$(call INSTALL,development-rootless,iphoneos-arm64,$(IOS15PREF)); \
else \
$(call INSTALL,development,iphoneos-arm); \
fi; \
fi; \
dsym: package
@echo '[PojavLauncher v$(VERSION)] dsym - start'
@cd $(OUTPUTDIR); \
if [ '$(NOSTDIN)' = '1' ]; then \
echo '$(SUDOPASS)' | sudo -S dsymutil --arch arm64 $(OUTPUTDIR)/Payload/PojavLauncher.app/PojavLauncher; \
echo '$(SUDOPASS)' | sudo -S rm -rf $(OUTPUTDIR)/PojavLauncher.dSYM; \
echo '$(SUDOPASS)' | sudo -S mv $(OUTPUTDIR)/Payload/PojavLauncher.app/PojavLauncher.dSYM $(OUTPUTDIR)/PojavLauncher.dSYM; \
echo '$(SUDOPASS)' | sudo -S rm -rf $(OUTPUTDIR)/Payload; \
else \
echo 'You need to run '\''export DEVICE_IP=<your iOS device IP>'\'' to use make install.'; \
echo 'If you specified a different port for your device to listen for SSH connections, you need to run '\''export DEVICE_PORT=<your port>'\'' as well.'; \
sudo dsymutil --arch arm64 $(OUTPUTDIR)/Payload/PojavLauncher.app/PojavLauncher; \
sudo rm -rf $(OUTPUTDIR)/PojavLauncher.dSYM; \
sudo mv $(OUTPUTDIR)/Payload/PojavLauncher.app/PojavLauncher.dSYM $(OUTPUTDIR)/PojavLauncher.dSYM; \
sudo rm -rf $(OUTPUTDIR)/Payload; \
fi
@echo 'Building PojavLauncher $(VERSION) - INSTALL - End'
# deb
@echo '[PojavLauncher v$(VERSION)] dsym - end'
deploy:
@echo 'Building PojavLauncher $(VERSION) - DEPLOY - Start'
@if [ '$(DEVICE_IP)' != '' ]; then \
if [ '$(ROOTLESS)' = '1' ]; then \
$(call DEPLOY,$(IOS15PREF),$(IOS)); \
else \
$(call DEPLOY,'/',$(IOS)); \
fi; \
@echo '[PojavLauncher v$(VERSION)] deploy - start'
@ldid -S$(SOURCEDIR)/entitlements.xml $(WORKINGDIR)/PojavLauncher.app/PojavLauncher; \
if [ '$(NOSTDIN)' = '1' ]; then \
echo '$(SUDOPASS)' | sudo -S rm -rf /Applications/PojavLauncher.app/Frameworks/libOSMesaOverride.dylib.framework; \
echo '$(SUDOPASS)' | sudo -S mv $(WORKINGDIR)/*.dylib /Applications/PojavLauncher.app/Frameworks/; \
echo '$(SUDOPASS)' | sudo -S mv $(WORKINGDIR)/*.framework /Applications/PojavLauncher.app/Frameworks/; \
echo '$(SUDOPASS)' | sudo -S mv $(WORKINGDIR)/PojavLauncher.app/PojavLauncher /Applications/PojavLauncher.app/PojavLauncher; \
echo '$(SUDOPASS)' | sudo -S mv $(SOURCEDIR)/JavaApp/local_out/*.jar /Applications/PojavLauncher.app/libs/; \
cd /Applications/PojavLauncher.app/Frameworks; \
echo '$(SUDOPASS)' | sudo -S chown -R 501:501 /Applications/PojavLauncher.app/*; \
else \
echo 'You need to run '\''export DEVICE_IP=<your iOS device IP>'\'' to use make deploy.'; \
echo 'If you specified a different port for your device to listen for SSH connections, you need to run '\''export DEVICE_PORT=<your port>'\'' as well.'; \
fi;
@echo 'Building PojavLauncher $(VERSION) - DEPLOY - End'
sudo rm -rf /Applications/PojavLauncher.app/Frameworks/libOSMesaOverride.dylib.framework; \
sudo mv $(WORKINGDIR)/*.dylib /Applications/PojavLauncher.app/Frameworks/; \
sudo mv $(WORKINGDIR)/*.framework /Applications/PojavLauncher.app/Frameworks/; \
sudo mv $(WORKINGDIR)/PojavLauncher.app/PojavLauncher /Applications/PojavLauncher.app/PojavLauncher; \
sudo mv $(SOURCEDIR)/JavaApp/local_out/*.jar /Applications/PojavLauncher.app/libs/; \
cd /Applications/PojavLauncher.app/Frameworks; \
sudo chown -R 501:501 /Applications/PojavLauncher.app/*; \
fi; \
@echo '[PojavLauncher v$(VERSION)] deploy - end'
clean:
@echo 'Building PojavLauncher $(VERSION) - CLEAN - Start'
@echo '[PojavLauncher v$(VERSION)] clean - start'
@if [ '$(NOSTDIN)' = '1' ]; then \
echo '$(SUDOPASS)' | sudo -S rm -rf $(WORKINGDIR); \
echo '$(SUDOPASS)' | sudo -S rm -rf JavaApp/build; \
@@ -407,21 +282,22 @@ clean:
sudo rm -rf JavaApp/build; \
sudo rm -rf $(OUTPUTDIR); \
fi
@echo 'Building PojavLauncher $(VERSION) - CLEAN - End'
@echo '[PojavLauncher v$(VERSION)] clean - end'
help:
@echo 'Makefile to compile PojavLauncher'
@echo ''
@echo 'Usage:'
@echo ' make Makes everything under all'
@echo ' make help Displays this message'
@echo ' make all Builds the entire app'
@echo ' make native Builds the native app'
@echo ' make java Builds the Java app'
@echo ' make deb (DEPRECATED) Builds deb of PojavLauncher'
@echo ' make ipa Builds ipa of PojavLauncher'
@echo ' make install (DEPRECATED) Copy package to local iDevice'
@echo ' make deploy (DEPRECATED) Copy package to local iDevice'
@echo ' make jre Downloads/unpacks the iOS JREs'
@echo ' make package Builds ipa of PojavLauncher'
@echo ' make deploy Copies files to local iDevice'
@echo ' make dsym Generate debug symbol files'
@echo ' make clean Cleans build directories'
@echo ' make check Dump all variables for checking'
.PHONY: all clean native java extras deb ipa install deploy dsym
.PHONY: all clean check native java jre package dsym deploy
-2
View File
@@ -146,8 +146,6 @@
</array>
<key>UIFileSharingEnabled</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
-1
View File
@@ -1 +0,0 @@
/* Localized versions of Info.plist keys */
-41
View File
@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_7" orientation="landscape" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="926" height="428"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<navigationBar contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3Fr-M9-OlU">
<rect key="frame" x="0.0" y="0.0" width="926" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<items>
<navigationItem id="g0O-BB-myM"/>
</items>
</navigationBar>
</subviews>
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="51.835853131749467" y="372.89719626168221"/>
</scene>
</scenes>
<resources>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>
Binary file not shown.