diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ad60c78..7e24a5f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -21,7 +21,7 @@ jobs: - name: Build artifacts run: | docker run --rm -v ${PWD}:/project builder python3 grabTitles.py - docker run --rm -v ${PWD}:/project builder go build cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go + docker run --rm -v ${PWD}:/project builder go build -pgo=auto cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go - name: Deploy WiiUDownloader run: | mv main WiiUDownloader diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index dbc36ba..0ba2e0e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -21,7 +21,7 @@ jobs: - name: Build run: | python3 grabTitles.py - go build cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go + go build -pgo=auto cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go - name: Package run: | python3 data/create_bundle.py diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 46c6812..115b3aa 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -29,7 +29,7 @@ jobs: - name: Build run: | python3 grabTitles.py - go build -ldflags -H=windowsgui cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go + go build -pgo=auto -ldflags -H=windowsgui cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go - name: Deploy WiiUDownloader run: | mkdir dist diff --git a/Dockerfile.linux b/Dockerfile.linux index 1d6dbf9..137b070 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -1,6 +1,9 @@ FROM ubuntu:22.04 -ARG DEBIAN_FRONTEND=noninteractive +ENV DEBIAN_FRONTEND=noninteractive \ + GOROOT=/usr/local/go \ + GOPATH=$HOME/go \ + PATH=$GOPATH/bin:$GOROOT/bin:$PATH RUN mkdir -p /usr/share/man/man1 /usr/share/man/man2 && \ apt -y --no-install-recommends update && \ @@ -12,7 +15,10 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man2 && \ RUN apt-fast -y --no-install-recommends update && \ apt-fast -y --no-install-recommends upgrade && \ - apt-fast install -y --no-install-recommends build-essential libgcrypt20-dev libgtk-3-dev libfuse2 libtool librsvg2-dev golang-go && \ + apt-fast install -y --no-install-recommends build-essential libgcrypt20-dev libgtk-3-dev libfuse2 libtool librsvg2-dev && \ + wget https://go.dev/dl/go1.21.1.linux-amd64.tar.gz && \ + tar -xvf go1.21.1.linux-amd64.tar.gz && \ + mv go /usr/local && \ LINUXDEPLOY="/usr/bin/linuxdeploy.AppImage" && \ LINUXDEPLOY_PLUGIN_GTK="/usr/bin/linuxdeploy-plugin-gtk.sh" && \ LINUXDEPLOY_PLUGIN_CHECKRT="/usr/bin/linuxdeploy-plugin-checkrt.sh" && \ diff --git a/default.pgo b/default.pgo new file mode 100644 index 0000000..a219e29 Binary files /dev/null and b/default.pgo differ diff --git a/grabTitles.py b/grabTitles.py index 3f5a8af..a39aff7 100644 --- a/grabTitles.py +++ b/grabTitles.py @@ -22,13 +22,13 @@ urllib.request.install_opener(opener) checkAndDeleteFile("gtitles/gtitles.c") urllib.request.urlretrieve("https://napi.nbg01.v10lator.de/db", "gtitles/gtitles.c") -os.system("gcc -c -Wall -fpic -Igtitles -o gtitles/gtitles.o gtitles/gtitles.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -Igtitles -o gtitles/gtitles.o gtitles/gtitles.c") os.system("ar rcs libgtitles.a gtitles/gtitles.o") os.system("gcc -shared -o gtitles/libgtitles.so gtitles/gtitles.o") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/aes.o cdecrypt/aes.c") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/cdecrypt.o cdecrypt/cdecrypt.c") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/sha1.o cdecrypt/sha1.c") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/util.o cdecrypt/util.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/aes.o cdecrypt/aes.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/cdecrypt.o cdecrypt/cdecrypt.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/sha1.o cdecrypt/sha1.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/util.o cdecrypt/util.c") os.system("ar rcs libcdecrypt.a cdecrypt/*.o") os.system("gcc -shared -o cdecrypt/libcdecrypt.so cdecrypt/*.o")