-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·52 lines (44 loc) · 1.75 KB
/
Copy pathbuild.sh
File metadata and controls
executable file
·52 lines (44 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
# ESGO Launcher - PyInstaller Build Script
# Bu script projeyi tek bir binary (executable) haline getirir.
echo "--- ESGO Build Süreci Başlatılıyor ---"
# 1. Virtual Environment (venv) kontrolü ve aktivasyonu
if [ -d "venv" ]; then
echo "[BİLGİ] Virtual Environment (venv) bulundu, aktif ediliyor..."
source venv/bin/activate
else
echo "[UYARI] venv klasörü bulunamadı. Sistem kütüphaneleri kullanılacak."
echo "[BİLGİ] Arch/CachyOS üzerinde 'pip' hatası (PEP 668) almamak için projeyi venv içinde tuttuğunuzdan emin olun."
fi
# 2. PyInstaller kontrolü
if ! command -v pyinstaller &> /dev/null
then
echo "[BİLGİ] PyInstaller bulunamadı, yükleniyor..."
pip install pyinstaller
fi
# 3. Temizlik (Eski build klasörlerini sil)
echo "[1/3] Eski build dosyaları temizleniyor..."
rm -rf build dist esgo.spec
# 4. Build işlemi
# --onefile: Her şeyi tek bir binary içine gömer
# --name: Çıktı dosyasının adı
# NOT: Araçlar (Proton, Legendary vs.) artık uygulama içinden dinamik olarak
# ~/.local/share/esgo/bin dizinine indirildiği için proje zaten otomatik olarak "slim" yapısındadır.
# Eski FULL/SLIM parametrelerine artık gerek yoktur.
echo "[2/3] PyInstaller çalıştırılıyor... (Bu işlem bir dakika sürebilir)"
pyinstaller --onefile \
--name esgo \
--clean \
--add-data "esgo:esgo" \
esgo_cli.py
# 5. Sonuç kontrolü
if [ -f "dist/esgo" ]; then
echo "--------------------------------------"
echo "[BAŞARILI] ESGO Launcher binary hazır!"
echo "Dosya konumu: $(pwd)/dist/esgo"
echo "Çalıştırmak için: ./dist/esgo"
echo "--------------------------------------"
else
echo "[HATA] Build işlemi başarısız oldu."
exit 1
fi