Skip to content

Commit 657a571

Browse files
committed
fix: switch to onefile build for proper PyGObject bundling
- Use --onefile instead of --standalone for better compatibility - Explicitly include gi package and its data files - Simplify install/uninstall since binary is now single file - Add --assume-yes-for-downloads for CI automation
1 parent 5b5165a commit 657a571

2 files changed

Lines changed: 9 additions & 26 deletions

File tree

.github/workflows/release.yml

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -71,27 +71,11 @@ jobs:
7171
source venv/bin/activate
7272
make nuitka
7373
74-
- name: Check build output
75-
run: |
76-
echo "Contents of dist directory:"
77-
ls -la dist/
78-
if [ -d "dist/clipse-gui.dist" ]; then
79-
echo "Contents of clipse-gui.dist:"
80-
ls -la dist/clipse-gui.dist/
81-
fi
82-
8374
- name: Rename artifact
8475
run: |
85-
if [ -f "dist/clipse-gui.dist/clipse-gui.bin" ]; then
86-
mv dist/clipse-gui.dist/clipse-gui.bin \
87-
dist/clipse-gui-v${{ steps.get_version.outputs.version }}-linux-x86_64
88-
elif [ -f "dist/clipse-gui.bin" ]; then
89-
mv dist/clipse-gui.bin \
90-
dist/clipse-gui-v${{ steps.get_version.outputs.version }}-linux-x86_64
91-
else
92-
echo "Error: Could not find binary"
93-
exit 1
94-
fi
76+
mv dist/clipse-gui.bin \
77+
dist/clipse-gui-v${{ steps.get_version.outputs.version }}-linux-x86_64
78+
chmod +x dist/clipse-gui-v${{ steps.get_version.outputs.version }}-linux-x86_64
9579
9680
- name: Upload release
9781
uses: softprops/action-gh-release@v2

Makefile

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@ NUITKA_DIST_DIR := $(APP_NAME).dist
2323
NUITKA_BINARY := $(APP_NAME).bin
2424

2525
NUITKA_OPTS := \
26-
--standalone \
26+
--onefile \
2727
--output-dir=$(BUILD_DIR) \
2828
--remove-output \
2929
--include-package=$(PACKAGE_DIR) \
30+
--include-package=gi \
31+
--include-package-data=gi \
3032
--follow-imports \
31-
--nofollow-import-to=*.tests
33+
--nofollow-import-to=*.tests \
34+
--assume-yes-for-downloads
3235

3336
.DEFAULT_GOAL := help
3437

@@ -69,10 +72,7 @@ nuitka:
6972

7073
install: nuitka
7174
@echo "Installing $(APP_NAME)..."
72-
@sudo install -d "$(APP_DIR)"
73-
@sudo cp -r "$(BUILD_DIR)/$(NUITKA_DIST_DIR)/." "$(APP_DIR)/"
74-
75-
@sudo ln -sf "$(APP_DIR)/$(NUITKA_BINARY)" "$(BIN_DIR)/$(APP_NAME)"
75+
@sudo install -Dm755 "$(BUILD_DIR)/$(NUITKA_BINARY)" "$(BIN_DIR)/$(APP_NAME)"
7676

7777
@if [ -f "$(ICON_FILE)" ]; then \
7878
echo "Installing icon..."; \
@@ -109,7 +109,6 @@ install: nuitka
109109
uninstall:
110110
@echo "Uninstalling $(APP_NAME)..."
111111
@sudo rm -f "$(BIN_DIR)/$(APP_NAME)"
112-
@sudo rm -rf "$(APP_DIR)"
113112
@sudo rm -f "$(DESKTOP_DEST_DIR)/$(DESKTOP_FILE)"
114113

115114
@if [ -f "$(ICON_DEST_DIR)/$(ICON_NAME).png" ]; then \

0 commit comments

Comments
 (0)