From 0ae42ef87601e85c455e7ab5d0630172a66d2bfb Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 2 May 2023 12:46:58 +0200 Subject: [PATCH] Simplify package names --- .github/workflows/build.yml | 11 ++-------- setup.py | 41 ++++++++++++++++++------------------- setup/macos/build.sh | 9 -------- setup/win_setup_embed.iss | 2 +- 4 files changed, 23 insertions(+), 40 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d6bf995d..a7ff9eb4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,7 +42,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10"] + python-version: ["3.11"] linux-tag: ["manylinux_2_24_x86_64", "manylinux_2_28_x86_64"] steps: - name: Python Setup @@ -104,17 +104,10 @@ jobs: - name: Build App Bundle run: ./setup/macos/build.sh - - name: Upload App Zip - uses: actions/upload-artifact@v3 - with: - name: novelWriter-${{ env.VERSION }}.app.zip - path: dist_macos/novelWriter-*.app.zip - retention-days: 1 - - name: Upload DMG uses: actions/upload-artifact@v3 with: name: novelWriter-${{ env.VERSION }}.dmg - path: dist_macos/novelWriter-*.dmg + path: dist_macos/*.dmg if-no-files-found: error retention-days: 1 diff --git a/setup.py b/setup.py index 20f9bcdd..72b25553 100755 --- a/setup.py +++ b/setup.py @@ -940,11 +940,10 @@ def makeForLaunchpad(doSign=False, isFirst=False, isSnapshot=False): ## def makeAppImage(sysArgs): - """Build an Appimage. + """Build an AppImage. """ import glob import argparse - import platform try: import python_appimage # noqa F401 @@ -968,15 +967,15 @@ def makeAppImage(sysArgs): parser.add_argument( "--linux-tag", nargs="?", - default=f"manylinux2010_{platform.machine()}", + default="manylinux_2_28_x86_64", help=( - "linux compatibility tag (e.g. manylinux1_x86_64) \n" + "linux compatibility tag (e.g. manylinux_2_28_x86_64) \n" "see https://python-appimage.readthedocs.io/en/latest/#available-python-appimages \n" "and https://github.com/pypa/manylinux for a list of valid tags" ), ) parser.add_argument( - "--python-version", nargs="?", default="3.10", help="python version (e.g. 3.10)" + "--python-version", nargs="?", default="3.11", help="python version (e.g. 3.11)" ) args, unparsedArgs = parser.parse_known_args(sysArgs) @@ -1020,9 +1019,8 @@ def makeAppImage(sysArgs): os.mkdir(imageDir) - # Remove old Appimages + # Remove old AppImages outFiles = glob.glob(f"{bldDir}/*.AppImage") - if outFiles: print("Removing old AppImages") print("") @@ -1112,17 +1110,17 @@ def makeAppImage(sysArgs): print("Wrote: requirements.txt") shutil.copyfile("setup/data/novelwriter.desktop", f"{imageDir}/novelwriter.desktop") - print("Copied: setup/data/novelwriter.desktop") + print("Copied: novelwriter.desktop") shutil.copyfile("setup/icons/novelwriter.svg", f"{imageDir}/novelwriter.svg") - print("Copied: setup/icons/novelwriter.svg") + print("Copied: novelwriter.svg") shutil.copyfile( "setup/data/hicolor/256x256/apps/novelwriter.png", f"{imageDir}/novelwriter.png" ) - print("Copied: setup/data/hicolor/256x256/apps/novelwriter.png") + print("Copied: novelwriter.png") - # Build Appimage + # Build AppImage # ============== try: @@ -1135,13 +1133,17 @@ def makeAppImage(sysArgs): print("") print(str(exc)) print("") - print("Dependencies:") - print(" * pip install python-appimage") - print("") sys.exit(1) + linuxLabel = "" + if not linuxTag.startswith("manylinux_2_28"): + linuxLabel = "-oldlinux" + if not linuxTag.endswith("x86_64"): + # manylinux_2_28 only comes in 64 bit, so this one only applies to older images + linuxLabel += "-32bit" + bldFile = glob.glob(f"{bldDir}/*.AppImage")[0] - outFile = f"{bldDir}/novelWriter-{pkgVers}-py{pythonVer}-{linuxTag}.AppImage" + outFile = f"{bldDir}/novelWriter-{pkgVers}{linuxLabel}.AppImage" os.rename(bldFile, outFile) shaFile = makeCheckSum(os.path.basename(outFile), cwd=bldDir) @@ -1372,11 +1374,8 @@ def makeWindowsEmbedded(sysArgs): print(str(exc)) sys.exit(1) - issName = os.path.join("dist", f"novelwriter-{packVersion}-win10-amd64-setup.exe") - newName = os.path.join("dist", f"novelwriter-{packVersion}-py{pyVers}-win10-amd64-setup.exe") - os.replace(issName, newName) - - print(f"Installer: {newName}") + print("") + print("Done") print("") return @@ -1908,7 +1907,7 @@ if __name__ == "__main__": " build-win-exe Build a setup.exe file with Python embedded for Windows.", " The package must be built from a minimal windows zip file.", " build-appimage Build an AppImage. Argument --linux-tag defaults to", - " manylinux1_x86_64 / i386, and --python-version to 3.10.", + " manylinux_2_28_x86_64 / i386, and --python-version to 3.11.", "", "System Install:", "", diff --git a/setup/macos/build.sh b/setup/macos/build.sh index f84c00ea..cc257f5d 100755 --- a/setup/macos/build.sh +++ b/setup/macos/build.sh @@ -154,17 +154,8 @@ rm lib/python3.*/site-packages/PyQt5/Qt/lib/libQt5WebEngine* || true popd || exit 1 popd || exit 1 -# --- Create App Bundle-------------------------------------------------------------------------- # - -echo "Packageing App ..." mkdir -p $RLS_DIR -pushd $BUILD_DIR || exit 1 -zip -qr novelWriter.app.zip novelWriter.app -popd || exit 1 - -mv -v $BUILD_DIR/novelWriter.app.zip $RLS_DIR/novelWriter-"${VERSION}".app.zip - # --- Create DMG -------------------------------------------------------------------------------- # # Generate .dmg diff --git a/setup/win_setup_embed.iss b/setup/win_setup_embed.iss index 7505f6c1..09337df1 100644 --- a/setup/win_setup_embed.iss +++ b/setup/win_setup_embed.iss @@ -24,7 +24,7 @@ DisableProgramGroupPage=yes UsedUserAreasWarning=no PrivilegesRequiredOverridesAllowed=dialog OutputDir={#nwAppDir} -OutputBaseFilename=novelwriter-{#nwAppVersion}-win10-amd64-setup +OutputBaseFilename=novelwriter-{#nwAppVersion}-amd64-setup Compression=lzma SolidCompression=yes WizardStyle=modern