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:
14 files changed
+69
-336
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
@@ -146,8 +146,6 @@
|
||||
</array>
|
||||
<key>UIFileSharingEnabled</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
@@ -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.
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user