From fcc74d599bd8d2b048d892e6081badc3404d81fe Mon Sep 17 00:00:00 2001 From: Fresky Date: Mon, 30 Sep 2024 23:04:57 +0800 Subject: [PATCH] build: try drop cross platform (#1) * build: try remove other platforms * ci: do not trigger on every branch * master, not main * disable addon for now * [skip ci] try fix workflow name --- .github/workflows/build.yml | 340 +-------------------- .github/workflows/feature-matrix.yml | 44 +-- .github/workflows/unit.yml | 4 +- macos/RedPandaIDE.icns | Bin 173364 -> 0 bytes macos/gen_macos_icns.sh | 19 -- packages/alpine/01-in-docker.sh | 17 -- packages/alpine/APKBUILD.in | 29 -- packages/alpine/buildapk.sh | 17 -- packages/appimage/01-in-docker.sh | 45 --- packages/appimage/AppRun.sh | 7 - packages/archlinux/01-in-docker.sh | 20 -- packages/archlinux/PKGBUILD.in | 54 ---- packages/archlinux/buildpkg.sh | 16 - packages/archlinux/compiler_hint.lua | 309 ------------------- packages/debian-static/01-in-docker.sh | 14 - packages/debian-static/builddeb.sh | 21 -- packages/debian-static/control.in | 14 - packages/debian/01-in-docker.sh | 42 --- packages/debian/builddeb-deepin.sh | 25 -- packages/debian/builddeb.sh | 23 -- packages/debian/changelog | 276 ----------------- packages/debian/compat | 1 - packages/debian/compiler_hint.lua | 316 ------------------- packages/debian/control | 30 -- packages/debian/control.deepin | 31 -- packages/debian/copyright | 57 ---- packages/debian/rules | 8 - packages/debian/update-version.sh | 30 -- packages/fedora/01-in-docker.sh | 11 - packages/fedora/buildrpm.sh | 16 - packages/fedora/redpanda-cpp-git.spec.in | 46 --- packages/opensuse/01-in-docker.sh | 17 -- packages/opensuse/buildrpm.sh | 16 - packages/opensuse/redpanda-cpp-git.spec.in | 46 --- packages/xmingw/build-xp.sh | 275 ----------------- 35 files changed, 17 insertions(+), 2219 deletions(-) delete mode 100644 macos/RedPandaIDE.icns delete mode 100755 macos/gen_macos_icns.sh delete mode 100755 packages/alpine/01-in-docker.sh delete mode 100644 packages/alpine/APKBUILD.in delete mode 100755 packages/alpine/buildapk.sh delete mode 100755 packages/appimage/01-in-docker.sh delete mode 100755 packages/appimage/AppRun.sh delete mode 100755 packages/archlinux/01-in-docker.sh delete mode 100644 packages/archlinux/PKGBUILD.in delete mode 100755 packages/archlinux/buildpkg.sh delete mode 100644 packages/archlinux/compiler_hint.lua delete mode 100755 packages/debian-static/01-in-docker.sh delete mode 100755 packages/debian-static/builddeb.sh delete mode 100644 packages/debian-static/control.in delete mode 100755 packages/debian/01-in-docker.sh delete mode 100644 packages/debian/builddeb-deepin.sh delete mode 100755 packages/debian/builddeb.sh delete mode 100644 packages/debian/changelog delete mode 100644 packages/debian/compat delete mode 100644 packages/debian/compiler_hint.lua delete mode 100644 packages/debian/control delete mode 100644 packages/debian/control.deepin delete mode 100644 packages/debian/copyright delete mode 100755 packages/debian/rules delete mode 100755 packages/debian/update-version.sh delete mode 100755 packages/fedora/01-in-docker.sh delete mode 100755 packages/fedora/buildrpm.sh delete mode 100644 packages/fedora/redpanda-cpp-git.spec.in delete mode 100755 packages/opensuse/01-in-docker.sh delete mode 100755 packages/opensuse/buildrpm.sh delete mode 100644 packages/opensuse/redpanda-cpp-git.spec.in delete mode 100755 packages/xmingw/build-xp.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64d4ec21..1e9eeb17 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,12 @@ name: Build -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: + - "master" + pull_request: + branches: + - "master" jobs: windows: @@ -68,77 +74,6 @@ jobs: name: Windows MSYS2 - msystem=${{ matrix.msystem }} path: dist/ - windows_legacy_native: - name: Windows NT 5.x native - strategy: - fail-fast: false - matrix: - profile: - - 64-ucrt - - 32-ucrt - - 64-msvcrt - - 32-msvcrt - include: - - isUcrt: 0 - - profile: 64-ucrt - isUcrt: 1 - - profile: 32-ucrt - isUcrt: 1 - runs-on: windows-2022 - defaults: - run: - shell: msys2 {0} - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup MSYS2 - uses: msys2/setup-msys2@v2 - with: - msystem: UCRT64 - update: true - - - name: Build - run: | - ./packages/msys/build-xp.sh -p ${{ matrix.profile }} \ - $( [[ ${{ matrix.isUcrt }} -eq 1 ]] && echo --ucrt 22621 ) - ./packages/msys/build-xp.sh -p ${{ matrix.profile }} --mingw \ - $( [[ ${{ matrix.isUcrt }} -eq 1 ]] && echo --ucrt 22621 ) - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Windows NT 5.x native - profile=${{ matrix.profile }} - path: dist/* - - windows_legacy_cross: - name: Windows NT 5.x cross - strategy: - fail-fast: false - matrix: - profile: - - 64-msvcrt - - 32-msvcrt - runs-on: ubuntu-24.04 - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - sudo ./packages/xmingw/build-xp.sh -p ${{ matrix.profile }} - sudo ./packages/xmingw/build-xp.sh -p ${{ matrix.profile }} --mingw - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Windows NT 5.x cross - profile=${{ matrix.profile }} - path: dist/* - windows_msvc_x64: name: Windows MSVC x64 runs-on: windows-2019 @@ -177,264 +112,3 @@ jobs: with: name: Windows MSVC x64 path: pkg/ - - windows_msvc_arm64ec: - name: Windows MSVC ARM64EC - runs-on: windows-2019 - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup - uses: jurplel/install-qt-action@v3 - with: - version: '5.15.2' - host: windows - target: desktop - arch: win64_msvc2019_64 - archives: qtbase qtsvg qttools - tools: tools_qtcreator,qt.tools.qtcreator - - - name: Build - run: | - $JOM = "${Env:RUNNER_WORKSPACE}/Qt/Tools/QtCreator/bin/jom/jom.exe" - $VS_INSTALL_PATH = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" - Import-Module "$VS_INSTALL_PATH\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" - Enter-VsDevShell -VsInstallPath "$VS_INSTALL_PATH" -SkipAutomaticLocation -DevCmdArguments "-arch=arm64 -host_arch=amd64" - mkdir build && pushd build - qmake QMAKE_CFLAGS="/arm64EC" QMAKE_CXXFLAGS="/arm64EC" QMAKE_LFLAGS="/MACHINE:ARM64EC" QMAKE_LIBFLAGS="/MACHINE:ARM64X" PREFIX=${Env:GITHUB_WORKSPACE}/pkg ${Env:GITHUB_WORKSPACE}/Red_Panda_CPP.pro - & $JOM "-j${Env:NUMBER_OF_PROCESSORS}" - & $JOM install - windeployqt ${Env:GITHUB_WORKSPACE}/pkg/RedPandaIDE.exe - rm ${Env:GITHUB_WORKSPACE}/pkg/vc_redist.x64.exe - popd - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Windows MSVC ARM64EC (do not use) - path: pkg/ - - debian: - name: Debian - strategy: - fail-fast: false - matrix: - arch: [amd64, i386] - version: ["11", "12"] - env: - IMAGE: docker.io/${{ matrix.arch }}/debian:${{ matrix.version }} - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/debian/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Debian ${{ matrix.version }} ${{ matrix.arch }} - path: dist/*.deb - - ubuntu: - name: Ubuntu - strategy: - fail-fast: false - matrix: - version: ["22.04", "23.10", "24.04", "devel"] - env: - IMAGE: docker.io/amd64/ubuntu:${{ matrix.version }} - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/debian/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Ubuntu ${{ matrix.version }} amd64 - path: dist/*.deb - - archlinux: - name: Arch Linux - runs-on: ubuntu-latest - env: - IMAGE: docker.io/amd64/archlinux:latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --security-opt seccomp=unconfined --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/archlinux/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Arch Linux - path: dist/*.pkg.tar.zst - - fedora: - name: Fedora - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: ["latest", "rawhide"] - env: - IMAGE: docker.io/amd64/fedora:${{ matrix.version }} - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --security-opt seccomp=unconfined --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/fedora/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Fedora ${{ matrix.version }} x86_64 - path: dist/*.rpm - - opensuse: - name: openSUSE - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - edition: ["leap", "tumbleweed"] - env: - IMAGE: docker.io/opensuse/${{ matrix.edition }}:latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --security-opt seccomp=unconfined --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/opensuse/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: openSUSE ${{ matrix.edition }} x86_64 - path: dist/*.rpm - - musl: - name: musl-based Linux (latest Alpine) - runs-on: ubuntu-latest - env: - IMAGE: docker.io/amd64/alpine:latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --security-opt seccomp=unconfined --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/alpine/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: musl-based Linux (latest Alpine) - path: dist/*.apk - - appimage: - name: Linux AppImage - runs-on: ubuntu-latest - env: - IMAGE: quay.io/redpanda-cpp/appimage-builder-x86_64:20240304.0 - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - podman run --rm -v $PWD:/mnt -w /mnt $IMAGE ./packages/appimage/01-in-docker.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Linux AppImage - path: dist/*.AppImage - - static-deb: - name: Static Deb - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Build - run: | - packages/debian-static/builddeb.sh - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Static Deb - path: dist/*.deb - - macos_x86_64: - name: macOS x86_64 - runs-on: macos-12 - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup - uses: jurplel/install-qt-action@v3 - with: - version: '5.15.2' - host: mac - target: desktop - arch: clang_64 - archives: qtbase qtsvg qttools - tools: tools_qtcreator,qt.tools.qtcreator - - - name: Build - run: | - mkdir build && pushd build - qmake PREFIX=$GITHUB_WORKSPACE/pkg $GITHUB_WORKSPACE/Red_Panda_CPP.pro - make -j$(nproc) - make install - popd - - pushd $GITHUB_WORKSPACE/pkg/bin - macdeployqt RedPandaIDE.app - tar -cJf RedPandaIDE.tar.xz RedPandaIDE.app - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: macOS x86_64 - path: pkg/bin/RedPandaIDE.tar.xz diff --git a/.github/workflows/feature-matrix.yml b/.github/workflows/feature-matrix.yml index bc8b033f..7a0a6dc4 100644 --- a/.github/workflows/feature-matrix.yml +++ b/.github/workflows/feature-matrix.yml @@ -1,44 +1,14 @@ name: Feature matrix -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: + - "master" + pull_request: + branches: + - "master" jobs: - ubuntu_2204: - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - lua_addon: ["y", "n"] - sdcc: ["y", "n"] - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup xmake - uses: xmake-io/github-action-setup-xmake@v1 - with: - xmake-version: '2.8.6' - - - name: Setup Qt - uses: ConorMacBride/install-package@v1 - with: - apt: libqt5svg5-dev qtbase5-dev qtbase5-dev-tools qttools5-dev-tools - - - name: Build - run: | - name="redpanda-cpp-${{ matrix.lua_addon }}-${{ matrix.sdcc }}" - xmake f --qt=/usr --prefix=/ --lua-addon=${{ matrix.lua_addon }} --sdcc=${{ matrix.sdcc }} - xmake b - xmake i -o "pkg/$name" - tar -cf "pkg/$name.tar" -C pkg "$name" - - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: Ubuntu 22.04 - lua-addon=${{ matrix.lua_addon }}, sdcc=${{ matrix.sdcc }} - path: pkg/*.tar - windows_msvc_x64: runs-on: windows-2019 strategy: diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index b6688f6d..d9360d66 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -1,6 +1,8 @@ name: Unit -on: [push, pull_request, workflow_dispatch] +# disable for now +# these jobs only run on ubuntu, but seems not only contain linux related features +on: workflow_dispatch jobs: ubuntu_makefile_escape: diff --git a/macos/RedPandaIDE.icns b/macos/RedPandaIDE.icns deleted file mode 100644 index 1399029f543edc21cfef2354b9d5ab7c26b8eccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173364 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

EB!@Ge#& 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"$TMP_FOLDER/APKBUILD" - -git archive --prefix="RedPanda-CPP/" -o "$TMP_FOLDER/RedPanda-CPP.tar.gz" HEAD - -cd "$TMP_FOLDER" -abuild -F checksum -abuild -Fr diff --git a/packages/appimage/01-in-docker.sh b/packages/appimage/01-in-docker.sh deleted file mode 100755 index 5e8e60d7..00000000 --- a/packages/appimage/01-in-docker.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -. version.inc - -SRC_DIR="$PWD" -TEST_VERSION=$(git rev-list HEAD --count) -if [[ -n "$APP_VERSION_SUFFIX" ]]; then - VERSION="$APP_VERSION.$TEST_VERSION.$APP_VERSION_SUFFIX" -else - VERSION="$APP_VERSION.$TEST_VERSION" -fi - -CARCH=$(gcc -dumpmachine | cut -d- -f1) -APPIMAGE_FILE=RedPandaIDE-$VERSION-$CARCH.AppImage -RUNTIME_FILE=/opt/appimage-runtime -RUNTIME_SIZE=$(wc -c <$RUNTIME_FILE) - -# build RedPanda C++ -mkdir -p /build -cd /build -qmake PREFIX=/usr "$SRC_DIR/Red_Panda_CPP.pro" -make LINUX_STATIC_IME_PLUGIN=ON -j$(nproc) - -# install RedPanda C++ to AppDir -make INSTALL_ROOT=/RedPandaIDE.AppDir install - -# setup AppImage resource -cd /RedPandaIDE.AppDir -ln -s usr/share/applications/RedPandaIDE.desktop RedPandaIDE.desktop -ln -s usr/share/icons/hicolor/scalable/apps/redpandaide.svg redpandaide.svg -# following files may come from Windows filesystem, use `install` to preseve file permission -install -m755 "$SRC_DIR/packages/appimage/AppRun.sh" AppRun -install -m644 "$SRC_DIR/platform/linux/redpandaide.png" .DirIcon - -# create AppImage -cd / -mksquashfs RedPandaIDE.AppDir $APPIMAGE_FILE -offset $RUNTIME_SIZE -comp zstd -root-owned -noappend -b 1M -mkfs-time 0 -dd if=$RUNTIME_FILE of=$APPIMAGE_FILE conv=notrunc -chmod +x $APPIMAGE_FILE - -# copy back to host -mkdir -p "$SRC_DIR/dist" -cp $APPIMAGE_FILE "$SRC_DIR/dist" diff --git a/packages/appimage/AppRun.sh b/packages/appimage/AppRun.sh deleted file mode 100755 index fcf3e05e..00000000 --- a/packages/appimage/AppRun.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# AppImage runtime set `argv[0]` to AppImage file, which is not reliable. -# Qt framework expects reliable `argv[0]` to locate configuration files. -# This wrapper fixes `argv[0]`. - -exec "$(dirname "$0")/usr/bin/RedPandaIDE" "$@" diff --git a/packages/archlinux/01-in-docker.sh b/packages/archlinux/01-in-docker.sh deleted file mode 100755 index af0d7ff5..00000000 --- a/packages/archlinux/01-in-docker.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -if [[ -v MIRROR && -n $MIRROR ]] -then - echo Server = "http://$MIRROR/archlinux/\$repo/os/\$arch" >/etc/pacman.d/mirrorlist -fi - -pacman -Syu --noconfirm --needed base-devel git - -useradd -m builduser -echo 'builduser ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builduser -echo "MAKEFLAGS=-j$(($(nproc)+1))" >>/etc/makepkg.conf.d/jobs.conf - -su builduser -c "git config --global --add safe.directory $PWD" -su builduser -c ./packages/archlinux/buildpkg.sh - -mkdir -p dist -cp /tmp/redpanda-cpp-git/redpanda-cpp-git-*.pkg.tar.zst dist/ diff --git a/packages/archlinux/PKGBUILD.in b/packages/archlinux/PKGBUILD.in deleted file mode 100644 index 8160fb01..00000000 --- a/packages/archlinux/PKGBUILD.in +++ /dev/null @@ -1,54 +0,0 @@ -_pkgname=RedPanda-CPP -pkgname=${_pkgname,,}-git -pkgver=__VERSION__ -pkgrel=1 -pkgdesc='A fast, lightweight, open source, and cross platform C++ IDE (development version)' -arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64' 'riscv64') -url="https://github.com/royqh1979/$_pkgname" -license=('GPL3') -depends=(qt6-base qt6-svg gcc gdb astyle) -makedepends=(qt6-tools imagemagick librsvg) -optdepends=( - 'clang: C/C++ compiler (alternative)' -) -conflicts=("${_pkgname,,}") -provides=("${_pkgname,,}") -source=( - "$_pkgname.tar.gz" - 'compiler_hint.lua' -) -sha256sums=( - 'SKIP' - 'SKIP' -) - -prepare() { - sed -i '/CONFIG += ENABLE_LUA_ADDON/ { s/^#\s*// }' RedPanda-CPP/RedPandaIDE/RedPandaIDE.pro -} - -build() { - mkdir redpanda-build - cd redpanda-build - qmake6 \ - PREFIX='/usr' \ - LIBEXECDIR='/usr/lib' \ - "$srcdir/$_pkgname/Red_Panda_CPP.pro" - make -} - -package() { - local _libexecdir="$pkgdir/usr/lib/RedPandaCPP" - install -Dm644 "compiler_hint.lua" "$_libexecdir/compiler_hint.lua" - - cd redpanda-build - make INSTALL_ROOT="$pkgdir" install - - for size in 16 22 24 32 36 48 64 72 96 128 192 256 512; do - mkdir -p "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps" - magick convert \ - -background none \ - "$pkgdir/usr/share/icons/hicolor/scalable/apps/redpandaide.svg" \ - -resize ${size}x${size} \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/redpandaide.png" - done -} diff --git a/packages/archlinux/buildpkg.sh b/packages/archlinux/buildpkg.sh deleted file mode 100755 index aa7b68bb..00000000 --- a/packages/archlinux/buildpkg.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -TMP_FOLDER=/tmp/redpanda-cpp-git -[[ -d $TMP_FOLDER ]] && rm -rf $TMP_FOLDER -mkdir -p "$TMP_FOLDER" - -VERSION=$(git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g') || VERSION="0.0.r$(git rev-list HEAD --count).g$(git rev-parse --short HEAD)" -sed "s/__VERSION__/$VERSION/g" packages/archlinux/PKGBUILD.in >"$TMP_FOLDER/PKGBUILD" - -git archive --prefix="RedPanda-CPP/" -o "$TMP_FOLDER/RedPanda-CPP.tar.gz" HEAD -cp packages/archlinux/compiler_hint.lua "$TMP_FOLDER/" - -cd "$TMP_FOLDER" -makepkg -s --noconfirm diff --git a/packages/archlinux/compiler_hint.lua b/packages/archlinux/compiler_hint.lua deleted file mode 100644 index 1cedbb42..00000000 --- a/packages/archlinux/compiler_hint.lua +++ /dev/null @@ -1,309 +0,0 @@ -function apiVersion() - return { - kind = "compiler_hint", - major = 0, - minor = 2, - } -end - - - - - - - - -local compilerNameTemplate = { - system = { - en_US = "System %1, %2", - pt_BR = "%1 sistema, %2", - zh_CN = "系统 %1,%2", - zh_TW = "系統 %1,%2", - }, - multilib = { - en_US = "Multilib %1, %2", - pt_BR = "%1 multilib, %2", - zh_CN = "Multilib %1,%2", - zh_TW = "Multilib %1,%2", - }, - cross = { - en_US = "Cross %1 %3, %2", - pt_BR = "%1 cruzado %3, %2", - zh_CN = "交叉编译 %1 %3,%2", - zh_TW = "交叉編譯 %1 %3,%2", - }, - mingw = { - en_US = "MinGW %1 %3, %2", - pt_BR = "MinGW %1 %3, %2", - zh_CN = "MinGW %1 %3,%2", - zh_TW = "MinGW %1 %3,%2", - }, -} - - - - - - - -local profileNameMap = { - release = { - en_US = "release", - pt_BR = "lançamento", - zh_CN = "发布", - zh_TW = "發佈", - }, - debug = { - en_US = "debug", - pt_BR = "depuração", - zh_CN = "调试", - zh_TW = "偵錯", - }, - debugWithAsan = { - en_US = "debug with ASan", - pt_BR = "depuração com ASan", - zh_CN = "ASan 调试", - zh_TW = "ASan 偵錯", - }, -} - -local function nameGenerator(lang, name, kind, profile, arch) - local template = compilerNameTemplate[kind][lang] or compilerNameTemplate[kind].en_US - local profileName = profileNameMap[profile][lang] or profileNameMap[profile].en_US - return C_Util.format(template, name, profileName, arch) -end - -local function mergeCompilerSet(compilerSet, other) - local c = compilerSet - local o = other - for k, v in pairs(o) do - c[k] = v - end -end - - - - - - - - -local function generateConfig( - lang, name, kind, - cCompiler, cxxCompiler, - config) - - local commonOptions = { - cCompiler = cCompiler, - cxxCompiler = cxxCompiler, - debugger = "/usr/bin/gdb", - debugServer = "/usr/bin/gdbserver", - make = "/usr/bin/make", - compilerType = name:sub(1, 5) == "Clang" and "Clang" or "GCC_UTF8", - preprocessingSuffix = ".i", - compilationProperSuffix = ".s", - assemblingSuffix = ".o", - executableSuffix = kind == "mingw" and ".exe" or "", - compilationStage = 3, - ccCmdOptUsePipe = "on", - ccCmdOptWarningAll = "on", - ccCmdOptWarningExtra = "on", - ccCmdOptCheckIsoConformance = "on", - binDirs = { "/usr/bin" }, - } - if kind == "multilib" then - commonOptions.ccCmdOptPointerSize = "32" - end - if kind == "mingw" then - commonOptions.resourceCompiler = "/usr/bin/" .. config.triplet .. "-windres" - end - if config.customCompileParams then - commonOptions.customCompileParams = config.customCompileParams - end - if config.customLinkParams then - commonOptions.customLinkParams = config.customLinkParams - end - local release = { - name = nameGenerator(lang, name, kind, "release", config.arch), - staticLink = true, - linkCmdOptStripExe = "on", - ccCmdOptOptimize = "2", - } - local debug_ = { - name = nameGenerator(lang, name, kind, "debug", config.arch), - ccCmdOptDebugInfo = "on", - } - local debugWithAsan = { - name = nameGenerator(lang, name, kind, "debugWithAsan", config.arch), - ccCmdOptDebugInfo = "on", - ccCmdOptAddressSanitizer = "address", - } - mergeCompilerSet(release, commonOptions) - mergeCompilerSet(debug_, commonOptions) - mergeCompilerSet(debugWithAsan, commonOptions) - return release, debug_, debugWithAsan -end - -function main() - local arch = C_System.osArch() - local libexecDir = C_System.appLibexecDir() - local lang = C_Desktop.language() - - local compilerList = {} - - do - local release, debug_, debugWithAsan = generateConfig( - lang, "GCC", "system", "/usr/bin/gcc", "/usr/bin/g++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - local versionedGccs = C_FileSystem.matchFiles("/usr/bin", "^gcc-[0-9]+$") - for _, gcc in ipairs(versionedGccs) do - local version = gcc:sub(5) - local name = "GCC " .. version - local release, debug_, debugWithAsan = generateConfig( - lang, name, "system", "/usr/bin/" .. gcc, "/usr/bin/g++-" .. version, - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - if C_FileSystem.isExecutable("/usr/bin/clang") then - local release, debug_, debugWithAsan = generateConfig( - lang, "Clang", "system", "/usr/bin/clang", "/usr/bin/clang++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - - if arch == "x86_64" and C_FileSystem.isExecutable("/usr/lib32/libstdc++.so") then - do - local release, debug_, debugWithAsan = generateConfig( - lang, "GCC", "multilib", "/usr/bin/gcc", "/usr/bin/g++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - if C_FileSystem.isExecutable("/usr/bin/clang") then - local release, debug_, debugWithAsan = generateConfig( - lang, "Clang", "multilib", "/usr/bin/clang", "/usr/bin/clang++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - end - - - if ( - arch == "x86_64" and - C_FileSystem.exists("/proc/sys/fs/binfmt_misc/qemu-aarch64") and - C_FileSystem.isExecutable("/usr/bin/aarch64-linux-gnu-gcc")) then - - local release, _, _ = generateConfig( - lang, "GCC", "cross", - "/usr/bin/aarch64-linux-gnu-gcc", "/usr/bin/aarch64-linux-gnu-g++", - { arch = "aarch64" }) - - table.insert(compilerList, release) - end - - - if ( - arch == "x86_64" and ( - C_FileSystem.exists("/proc/sys/fs/binfmt_misc/DOSWin") or - C_FileSystem.exists("/proc/sys/fs/binfmt_misc/WSLInterop"))) then - - - if C_FileSystem.isExecutable("/usr/bin/x86_64-w64-mingw32-gcc") then - do - local release, _, _ = generateConfig( - lang, "GCC", "mingw", - "/usr/bin/x86_64-w64-mingw32-gcc", "/usr/bin/x86_64-w64-mingw32-g++", - { - arch = "x86_64", - triplet = "x86_64-w64-mingw32", - customLinkParams = {}, - }) - - table.insert(compilerList, release) - end - - - if C_FileSystem.isExecutable("/usr/bin/clang") then - local release, _, _ = generateConfig( - lang, "Clang", "mingw", "/usr/bin/clang", "/usr/bin/clang++", - { - arch = "x86_64", - triplet = "x86_64-w64-mingw32", - customCompileParams = { "-target", "x86_64-w64-mingw32" }, - customLinkParams = { - "-target", "x86_64-w64-mingw32", - "-lstdc++", "-lwinpthread", - }, - }) - - table.insert(compilerList, release) - end - end - - if C_FileSystem.isExecutable("/usr/bin/i686-w64-mingw32-gcc") then - do - local release, _, _ = generateConfig( - lang, "GCC", "mingw", - "/usr/bin/i686-w64-mingw32-gcc", "/usr/bin/i686-w64-mingw32-g++", - { - arch = "i686", - triplet = "i686-w64-mingw32", - customLinkParams = {}, - }) - - table.insert(compilerList, release) - end - - - if C_FileSystem.isExecutable("/usr/bin/clang") then - local release, _, _ = generateConfig( - lang, "Clang", "mingw", - "/usr/bin/clang", "/usr/bin/clang++", - { - arch = "i686", - triplet = "i686-w64-mingw32", - customCompileParams = { "-target", "i686-w64-mingw32" }, - customLinkParams = { - "-target", "i686-w64-mingw32", - "-lstdc++", "-lwinpthread", - }, - }) - - table.insert(compilerList, release) - end - end - end - - local result = { - compilerList = compilerList, - noSearch = { - "/usr/bin", - "/opt/cuda/bin", - "/usr/lib/ccache/bin", - }, - preferCompiler = 3, - } - - return result - -end diff --git a/packages/debian-static/01-in-docker.sh b/packages/debian-static/01-in-docker.sh deleted file mode 100755 index ea8a8200..00000000 --- a/packages/debian-static/01-in-docker.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -SRC_DIR="$PWD" - -# build RedPanda C++ -mkdir -p /build -cd /build -qmake PREFIX=/usr "$SRC_DIR/Red_Panda_CPP.pro" -make LINUX_STATIC_IME_PLUGIN=ON -j$(nproc) - -# install RedPanda C++ to AppDir -make INSTALL_ROOT=/out install diff --git a/packages/debian-static/builddeb.sh b/packages/debian-static/builddeb.sh deleted file mode 100755 index 6b011c46..00000000 --- a/packages/debian-static/builddeb.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -. version.inc -TEST_VERSION="$(git rev-list HEAD --count)" -if [[ -n "$APP_VERSION_SUFFIX" ]]; then - VERSION="$APP_VERSION.$TEST_VERSION.$APP_VERSION_SUFFIX" -else - VERSION="$APP_VERSION.$TEST_VERSION" -fi -DEB_FILE="redpanda-cpp-bin_${VERSION}_amd64.deb" - -TMP_FOLDER="$(mktemp -d)" - -podman run -it --rm -v "$PWD:/mnt" -w /mnt -v "$TMP_FOLDER:/out" quay.io/redpanda-cpp/appimage-builder-x86_64:20240610.0 packages/debian-static/01-in-docker.sh - -mkdir -p dist -mkdir -m 755 -p "$TMP_FOLDER/DEBIAN" -sed "s/__VERSION__/$VERSION/" packages/debian-static/control.in >"$TMP_FOLDER/DEBIAN/control" -dpkg-deb --build "$TMP_FOLDER" "dist/$DEB_FILE" diff --git a/packages/debian-static/control.in b/packages/debian-static/control.in deleted file mode 100644 index e5ce5781..00000000 --- a/packages/debian-static/control.in +++ /dev/null @@ -1,14 +0,0 @@ -Section: devel -Priority: optional -Maintainer: royqh1979@gmail.com -Standards-Version: 4.3.0 -Homepage: https://github.com/royqh1979/RedPanda-CPP -Package: redpanda-cpp-bin -Version: __VERSION__ -Architecture: amd64 -Depends: gcc, g++, make, gdb, gdbserver, astyle, - libc6 (>= 2.17), libstdc++6 (>= 4.8), - libdbus-1-3, libfontconfig1, libfreetype6, libwayland-client0, libwayland-cursor0, libx11-6, libx11-xcb1, libxcb1, libxcb-icccm4, libxcb-image0, libxcb-keysyms1, libxcb-randr0, libxcb-render-util0, libxcb-render0, libxcb-shape0, libxcb-shm0, libxcb-sync1, libxcb-xfixes0, libxcb-xinerama0, libxcb-xkb1, libxcb1, libxext6, libxkbcommon-x11-0, libxkbcommon0 -Recommends: qterminal | konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix -Suggests: clang -Description: A lightweight but powerful C/C++ IDE, built upon static Qt 5.15 diff --git a/packages/debian/01-in-docker.sh b/packages/debian/01-in-docker.sh deleted file mode 100755 index d8c34d6e..00000000 --- a/packages/debian/01-in-docker.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -DISTRO_ID=$(grep ^ID= /etc/os-release | cut -d= -f2- | tr -d '"') -VERSION_ID=$(grep ^VERSION_ID= /etc/os-release | cut -d= -f2- | tr -d '"') -[[ -v JOBS ]] || JOBS=$(nproc) - -# install deps -default_repositories=( - deb.debian.org - security.debian.org - archive.ubuntu.com - security.ubuntu.com - ports.ubuntu.com -) - -if [[ -v MIRROR ]] -then - for repo in ${default_repositories[@]} - do - [[ -f /etc/apt/sources.list ]] && sed -i "s|$repo|$MIRROR|" /etc/apt/sources.list - for file in $(ls /etc/apt/sources.list.d/) - do - # okay for both *.list and *.sources (since Debian 12) - sed -i "s|$repo|$MIRROR|" /etc/apt/sources.list.d/$file - done - done -fi - -export DEBIAN_FRONTEND=noninteractive -apt update -apt install -y --no-install-recommends build-essential debhelper devscripts equivs - -./packages/debian/builddeb.sh - -file=$(ls /tmp/redpanda-cpp_*.deb) -basename=$(basename $file) - -# copy back to host -mkdir -p dist -cp $file dist/${basename/.deb/.$DISTRO_ID$VERSION_ID.deb} diff --git a/packages/debian/builddeb-deepin.sh b/packages/debian/builddeb-deepin.sh deleted file mode 100644 index 862d2bce..00000000 --- a/packages/debian/builddeb-deepin.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -TMP_FOLDER=/tmp/redpandaide -[[ -d $TMP_FOLDER ]] && rm -rf $TMP_FOLDER -mkdir -p "$TMP_FOLDER" - -cp -r packages/debian $TMP_FOLDER -cp -r tools $TMP_FOLDER -cp -r libs $TMP_FOLDER -cp -r RedPandaIDE $TMP_FOLDER -cp README.md $TMP_FOLDER -cp LICENSE $TMP_FOLDER -cp NEWS.md $TMP_FOLDER -cp version.inc $TMP_FOLDER -cp -r platform $TMP_FOLDER -cp Red_Panda_CPP.pro $TMP_FOLDER - -cd $TMP_FOLDER -rm control -cp control.deepin control -command -v mk-build-deps && mk-build-deps -i -t "apt -y --no-install-recommends" debian/control -sed -i '/CONFIG += ENABLE_LUA_ADDON/ { s/^#\s*// }' RedPandaIDE/RedPandaIDE.pro -dpkg-buildpackage -us -uc diff --git a/packages/debian/builddeb.sh b/packages/debian/builddeb.sh deleted file mode 100755 index 819b798a..00000000 --- a/packages/debian/builddeb.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -TMP_FOLDER=/tmp/redpandaide -[[ -d $TMP_FOLDER ]] && rm -rf $TMP_FOLDER -mkdir -p "$TMP_FOLDER" - -cp -r packages/debian $TMP_FOLDER -cp -r tools $TMP_FOLDER -cp -r libs $TMP_FOLDER -cp -r RedPandaIDE $TMP_FOLDER -cp README.md $TMP_FOLDER -cp LICENSE $TMP_FOLDER -cp NEWS.md $TMP_FOLDER -cp version.inc $TMP_FOLDER -cp -r platform $TMP_FOLDER -cp Red_Panda_CPP.pro $TMP_FOLDER - -cd $TMP_FOLDER -command -v mk-build-deps && mk-build-deps -i -t "apt -y --no-install-recommends" debian/control -sed -i '/CONFIG += ENABLE_LUA_ADDON/ { s/^#\s*// }' RedPandaIDE/RedPandaIDE.pro -dpkg-buildpackage -us -uc diff --git a/packages/debian/changelog b/packages/debian/changelog deleted file mode 100644 index 87904fe7..00000000 --- a/packages/debian/changelog +++ /dev/null @@ -1,276 +0,0 @@ -redpanda-cpp (3.1.2871-1) unstable; urgency=medium - - * Update to 3.1.2871 - - -- Roy Qu (瞿华) Tue, 11 Jun 2024 16:26:11 +0800 - -redpanda-cpp (3.1.2849-1) unstable; urgency=medium - - * Update to 3.1.2849 - - -- Roy Qu (瞿华) Tue, 28 May 2024 20:30:05 +0800 - -redpanda-cpp (3.1.2832-1) unstable; urgency=medium - - * Update to 3.1.2832 - - -- Roy Qu (瞿华) Mon, 20 May 2024 17:32:04 +0800 - -redpanda-cpp (3.0.2795-1) unstable; urgency=medium - - * Update to 3.0.2795 - - -- Roy Qu (瞿华) Tue, 07 May 2024 19:26:03 +0800 - -redpanda-cpp (3.0.2788-1) unstable; urgency=medium - - * Update to 3.0.2788 - - -- Roy Qu (瞿华) Sun, 05 May 2024 15:26:20 +0800 - -redpanda-cpp (3.0.2754-1) unstable; urgency=medium - - * Update to 3.0.2754 - - -- Roy Qu (瞿华) Thu, 25 Apr 2024 17:09:34 +0800 - -redpanda-cpp (3.0.2720-1) unstable; urgency=medium - - * Update to 3.0.2720 - - -- Roy Qu (瞿华) Sun, 14 Apr 2024 18:32:16 +0800 - -redpanda-cpp (3.0.2707-1) unstable; urgency=medium - - * Update to 3.0.2707 - - -- Roy Qu (瞿华) Fri, 12 Apr 2024 20:25:23 +0800 - -redpanda-cpp (3.0.2705-1) unstable; urgency=medium - - * Update to 3.0.2705 - - -- Roy Qu (瞿华) Fri, 12 Apr 2024 19:01:00 +0800 - -redpanda-cpp (3.0.2671-1) unstable; urgency=medium - - * Update to 3.0.2671 - - -- Roy Qu (瞿华) Sun, 07 Apr 2024 18:42:16 +0800 - -redpanda-cpp (2.27.2540-1) unstable; urgency=medium - - * Update to 2.27.2540 - - -- Roy Qu (瞿华) Wed, 27 Mar 2024 10:28:44 +0800 - -redpanda-cpp (2.26-1) unstable; urgency=medium - - * Update to 2.26 - - -- Roy Qu (瞿华) Wed, 21 Feb 2024 11:42:00 +0800 - -redpanda-cpp (2.25-1) unstable; urgency=medium - - * Update to 2.25 - - -- Roy Qu (瞿华) Sat, 21 Oct 2023 11:41:00 +0800 - -redpanda-cpp (2.24-1) unstable; urgency=medium - - * Update to 2.24 - - -- Roy Qu (瞿华) Sun, 20 Apr 2023 21:28:00 +0800 - -redpanda-cpp (2.23-1) unstable; urgency=medium - - * Update to 2.23 - - -- Roy Qu (瞿华) Fri, 7 Jul 2023 08:06:00 +0800 - -redpanda-cpp (2.22-1) unstable; urgency=medium - - * Update to 2.22 - - -- Roy Qu (瞿华) Wed, 5 Jun 2023 19:57:00 +0800 - -redpanda-cpp (2.21-1) unstable; urgency=medium - - * Update to 2.21 - - -- Roy Qu (瞿华) Tue, 25 Apr 2023 20:04:00 +0800 - -redpanda-cpp (2.20-1) unstable; urgency=medium - - * Update to 2.20 - - -- Roy Qu (瞿华) Tue, 4 Apr 2023 08:57:00 +0800 - -redpanda-cpp (2.19-1) unstable; urgency=medium - - * Update to 2.19 - - -- Roy Qu (瞿华) Tue, 28 Mar 2023 16:33:00 +0800 - -redpanda-cpp (2.18-1) unstable; urgency=medium - - * Update to 2.18 - - -- Roy Qu (瞿华) Sat, 17 Mar 2023 20:20:00 +0800 - -redpanda-cpp (2.12-1) unstable; urgency=medium - - * Update to 2.12 - - -- Roy Qu (瞿华) Sat, 18 Jan 2023 12:57:00 +0800 - -redpanda-cpp (2.10-1) unstable; urgency=medium - - * Update to 2.10 - - -- Roy Qu (瞿华) Fri, 27 Jan 2023 16:12:00 +0800 - -redpanda-cpp (2.9-1) unstable; urgency=medium - - * Update to 2.9 - - -- Roy Qu (瞿华) Thu, 15 Jan 2023 09:45:00 +0800 - -redpanda-cpp (2.7-1) unstable; urgency=medium - - * Update to 2.7 - - -- Roy Qu (瞿华) Thu, 19 Dec 2022 09:33:00 +0800 - -redpanda-cpp (2.6-1) unstable; urgency=medium - - * Update to 2.6 - - -- Roy Qu (瞿华) Thu, 15 Dec 2022 11:30:00 +0800 - -redpanda-cpp (2.5-1) unstable; urgency=medium - - * Update to 2.5 - - -- Roy Qu (瞿华) Sat, 3 Dec 2022 11:04:00 +0800 - -redpanda-cpp (2.4-1) unstable; urgency=medium - - * Update to 2.4 - - -- Roy Qu (瞿华) Sun, 11 Nov 2022 19:58:00 +0800 - -redpanda-cpp (2.3-1) unstable; urgency=medium - - * Update to 2.3 - - -- Roy Qu (瞿华) Sun, 6 Nov 2022 23:21:00 +0800 - -redpanda-cpp (2.2-2) unstable; urgency=medium - - * Update to 2.2 - - -- Roy Qu (瞿华) Sun, 6 Nov 2022 18:38:00 +0800 - -redpanda-cpp (2.1-2) unstable; urgency=medium - - * Update to 2.1 - - -- Roy Qu (瞿华) Sat, 29 Oct 2022 17:38:00 +0800 - -redpanda-cpp (2.1-1) unstable; urgency=medium - - * Update to 2.1 - - -- Roy Qu (瞿华) Fri, 28 Oct 2022 16:38:00 +0800 - -redpanda-cpp (1.5-1) unstable; urgency=medium - - * Update to 1.5 - - -- Roy Qu (瞿华) Wed, 19 Oct 2022 19:08:00 +0800 - -redpanda-cpp (1.4-1) unstable; urgency=medium - - * Update to 1.4 - - -- Roy Qu (瞿华) Thu, 29 Sep 2022 10:42:00 +0800 - -redpanda-cpp (1.2-1) unstable; urgency=medium - - * Update to 1.2 - - -- Roy Qu (瞿华) Tue, 16 Aug 2022 10:42:00 +0800 - -redpanda-cpp (1.1.5-1) unstable; urgency=medium - - * Update to 1.1.5 - - -- Roy Qu (瞿华) Sat, 23 Jul 2022 22:39:00 +0800 - -redpanda-cpp (1.1.3-1) unstable; urgency=medium - - * Update to 1.1.3 - - -- Roy Qu (瞿华) Sat, 1 Jul 2022 22:03:00 +0800 - -redpanda-cpp (1.0.10-1) unstable; urgency=medium - - * Update to 1.1.0 - - -- Roy Qu (瞿华) Sun, 13 Jun 2022 19:19:00 +0800 - -redpanda-cpp (1.0.10-1) unstable; urgency=medium - - * Update to 1.0.10 - - -- Roy Qu (瞿华) Sun, 4 Jun 2022 09:41:00 +0800 - -redpanda-cpp (1.0.6-1) unstable; urgency=medium - - * Update to 1.0.6 - - -- Roy Qu (瞿华) Fri, 29 Apr 2022 09:41:00 +0800 - -redpanda-cpp (1.0.0-1) unstable; urgency=medium - - * Update to 1.0.0 - - -- Roy Qu (瞿华) Fri, 18 Mar 2022 11:51:00 +0800 - -redpanda-cpp (0.14.4-1) unstable; urgency=medium - - * Update to 0.14.4 - - -- Roy Qu (瞿华) Sat, 26 Feb 2022 18:48:00 +0800 - -redpanda-cpp (0.14.2-1) unstable; urgency=medium - - * Update to 0.14.2 - - -- Roy Qu (瞿华) Fri, 11 Feb 2022 15:29:00 +0800 - -redpanda-cpp (0.14.0-1) unstable; urgency=medium - - * Update to 0.14.0 - - -- Roy Qu (瞿华) Fri, 28 Jan 2022 10:51:00 +0800 - -redpanda-cpp (0.13.3-1) unstable; urgency=medium - - * Update to 0.13.3 - - -- Roy Qu (瞿华) Mon, 24 Jan 2022 21:50:00 +0800 - -redpanda-cpp (0.13.2-1) unstable; urgency=medium - - * Update to 0.13.2 - - -- Roy Qu (瞿华) Thu, 6 Jan 2022 14:52:00 +0800 - -redpanda-cpp (0.12.6-1) unstable; urgency=medium - - * Initial release - - -- Roy Qu (瞿华) Thu, 6 Jan 2022 14:52:00 +0800 - diff --git a/packages/debian/compat b/packages/debian/compat deleted file mode 100644 index 48082f72..00000000 --- a/packages/debian/compat +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/packages/debian/compiler_hint.lua b/packages/debian/compiler_hint.lua deleted file mode 100644 index 40cb666d..00000000 --- a/packages/debian/compiler_hint.lua +++ /dev/null @@ -1,316 +0,0 @@ -function apiVersion() - return { - kind = "compiler_hint", - major = 0, - minor = 2, - } -end - - - - - - - - - -local compilerNameTemplate = { - system = { - en_US = "System %1, %2", - pt_BR = "%1 sistema, %2", - zh_CN = "系统 %1,%2", - zh_TW = "系統 %1,%2", - }, - multilib = { - en_US = "Multilib %1, %2", - pt_BR = "%1 multilib, %2", - zh_CN = "Multilib %1,%2", - zh_TW = "Multilib %1,%2", - }, - libx32 = { - en_US = "Libx32 %1, %2", - pt_BR = "%1 libx32, %2", - zh_CN = "Libx32 %1,%2", - zh_TW = "Libx32 %1,%2", - }, - cross = { - en_US = "Cross %1 %3, %2", - pt_BR = "%1 cruzado %3, %2", - zh_CN = "交叉编译 %1 %3,%2", - zh_TW = "交叉編譯 %1 %3,%2", - }, - mingw = { - en_US = "MinGW %1 %3, %2", - pt_BR = "MinGW %1 %3, %2", - zh_CN = "MinGW %1 %3,%2", - zh_TW = "MinGW %1 %3,%2", - }, -} - - - - - - - -local profileNameMap = { - release = { - en_US = "release", - pt_BR = "lançamento", - zh_CN = "发布", - zh_TW = "發佈", - }, - debug = { - en_US = "debug", - pt_BR = "depuração", - zh_CN = "调试", - zh_TW = "偵錯", - }, - debugWithAsan = { - en_US = "debug with ASan", - pt_BR = "depuração com ASan", - zh_CN = "ASan 调试", - zh_TW = "ASan 偵錯", - }, -} - -local function nameGenerator(lang, name, kind, profile, arch) - local template = compilerNameTemplate[kind][lang] or compilerNameTemplate[kind].en_US - local profileName = profileNameMap[profile][lang] or profileNameMap[profile].en_US - return C_Util.format(template, name, profileName, arch) -end - -local function mergeCompilerSet(compilerSet, other) - local c = compilerSet - local o = other - for k, v in pairs(o) do - c[k] = v - end -end - - - - - - - - -local function generateConfig( - lang, name, kind, - cCompiler, cxxCompiler, - config) - - local commonOptions = { - cCompiler = cCompiler, - cxxCompiler = cxxCompiler, - debugger = "/usr/bin/gdb", - debugServer = "/usr/bin/gdbserver", - make = "/usr/bin/make", - compilerType = name:sub(1, 5) == "Clang" and "Clang" or "GCC_UTF8", - preprocessingSuffix = ".i", - compilationProperSuffix = ".s", - assemblingSuffix = ".o", - executableSuffix = kind == "mingw" and ".exe" or "", - compilationStage = 3, - ccCmdOptUsePipe = "on", - ccCmdOptWarningAll = "on", - ccCmdOptWarningExtra = "on", - ccCmdOptCheckIsoConformance = "on", - binDirs = { "/usr/bin" }, - } - if kind == "multilib" then - commonOptions.ccCmdOptPointerSize = "32" - end - if kind == "mingw" then - commonOptions.resourceCompiler = "/usr/bin/" .. config.triplet .. "-windres" - end - if config.customCompileParams then - commonOptions.customCompileParams = config.customCompileParams - end - if config.customLinkParams then - commonOptions.customLinkParams = config.customLinkParams - end - local release = { - name = nameGenerator(lang, name, kind, "release", config.arch), - staticLink = true, - linkCmdOptStripExe = "on", - ccCmdOptOptimize = "2", - } - local debug_ = { - name = nameGenerator(lang, name, kind, "debug", config.arch), - ccCmdOptDebugInfo = "on", - } - local debugWithAsan = { - name = nameGenerator(lang, name, kind, "debugWithAsan", config.arch), - ccCmdOptDebugInfo = "on", - ccCmdOptAddressSanitizer = "address", - } - mergeCompilerSet(release, commonOptions) - mergeCompilerSet(debug_, commonOptions) - mergeCompilerSet(debugWithAsan, commonOptions) - return release, debug_, debugWithAsan -end - -function main() - local arch = C_System.osArch() - local libexecDir = C_System.appLibexecDir() - local lang = C_Desktop.language() - - local compilerList = {} - - local gccDumpVersion = C_System.popen("/usr/bin/gcc", { "-dumpfullversion" }) - gccDumpVersion = gccDumpVersion:match("^[0-9.]+") - local gccFsVersion = C_System.popen("/usr/bin/gcc", { "-dumpversion" }) - gccFsVersion = gccFsVersion:match("^[0-9.]+") - local clangDumpVersion - - do - local release, debug_, debugWithAsan = generateConfig( - lang, "GCC (" .. gccDumpVersion .. ")", "system", "/usr/bin/gcc", "/usr/bin/g++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - local versionedGccs = C_FileSystem.matchFiles("/usr/bin", "^gcc-[0-9]+$") - for _, gcc in ipairs(versionedGccs) do - local version = gcc:sub(5) - local name = "GCC " .. version - local release, debug_, debugWithAsan = generateConfig( - lang, name, "system", "/usr/bin/" .. gcc, "/usr/bin/g++-" .. version, - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - if C_FileSystem.isExecutable("/usr/bin/clang") then - clangDumpVersion = C_System.popen("/usr/bin/clang", { "-dumpversion" }) - clangDumpVersion = clangDumpVersion:match("^[0-9.]+") - local release, debug_, debugWithAsan = generateConfig( - lang, "Clang (" .. clangDumpVersion .. ")", "system", "/usr/bin/clang", "/usr/bin/clang++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - local versionedClangs = C_FileSystem.matchFiles("/usr/bin", "^clang-[0-9]+$") - for _, clang in ipairs(versionedClangs) do - local version = clang:sub(7) - local name = "Clang " .. version - local release, debug_, debugWithAsan = generateConfig( - lang, name, "system", "/usr/bin/" .. clang, "/usr/bin/clang++-" .. version, - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - - if arch == "x86_64" and C_FileSystem.exists("/usr/lib/gcc/x86_64-linux-gnu/" .. gccFsVersion .. "/32/libstdc++.a") then - do - local release, debug_, debugWithAsan = generateConfig( - lang, "GCC (" .. gccDumpVersion .. ")", "multilib", "/usr/bin/gcc", "/usr/bin/g++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - if C_FileSystem.isExecutable("/usr/bin/clang") then - local release, debug_, debugWithAsan = generateConfig( - lang, "Clang (" .. clangDumpVersion .. ")", "multilib", "/usr/bin/clang", "/usr/bin/clang++", - {}) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - end - - - if arch == "x86_64" and C_FileSystem.exists("/usr/lib/gcc/x86_64-linux-gnu/" .. gccFsVersion .. "/x32/libstdc++.a") then - do - local release, debug_, debugWithAsan = generateConfig( - lang, "GCC (" .. gccDumpVersion .. ")", "libx32", "/usr/bin/gcc", "/usr/bin/g++", - { - customCompileParams = { "-mx32" }, - customLinkParams = { "-mx32" }, - }) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - - if C_FileSystem.isExecutable("/usr/bin/clang") then - local release, debug_, debugWithAsan = generateConfig( - lang, "Clang (" .. clangDumpVersion .. ")", "libx32", "/usr/bin/clang", "/usr/bin/clang++", - { - customCompileParams = { "-mx32" }, - customLinkParams = { "-mx32" }, - }) - - table.insert(compilerList, release) - table.insert(compilerList, debug_) - table.insert(compilerList, debugWithAsan) - end - end - - - if ( - arch == "x86_64" and ( - C_FileSystem.exists("/proc/sys/fs/binfmt_misc/DOSWin") or - C_FileSystem.exists("/proc/sys/fs/binfmt_misc/WSLInterop"))) then - - - if C_FileSystem.isExecutable("/usr/bin/x86_64-w64-mingw32-gcc") then - do - local release, _, _ = generateConfig( - lang, "GCC", "mingw", - "/usr/bin/x86_64-w64-mingw32-gcc", "/usr/bin/x86_64-w64-mingw32-g++", - { - arch = "x86_64", - triplet = "x86_64-w64-mingw32", - customLinkParams = {}, - }) - - table.insert(compilerList, release) - end - end - - if C_FileSystem.isExecutable("/usr/bin/i686-w64-mingw32-gcc") then - do - local release, _, _ = generateConfig( - lang, "GCC", "mingw", - "/usr/bin/i686-w64-mingw32-gcc", "/usr/bin/i686-w64-mingw32-g++", - { - arch = "i686", - triplet = "i686-w64-mingw32", - customLinkParams = {}, - }) - - table.insert(compilerList, release) - end - end - end - - local result = { - compilerList = compilerList, - noSearch = { - "/usr/bin", - "/usr/lib/ccache", - }, - preferCompiler = 3, - } - - return result - -end diff --git a/packages/debian/control b/packages/debian/control deleted file mode 100644 index e24c5142..00000000 --- a/packages/debian/control +++ /dev/null @@ -1,30 +0,0 @@ -Source: redpanda-cpp -Section: devel -Priority: optional -Maintainer: royqh1979@gmail.com -Build-Depends: debhelper (>= 12~), - qtbase5-dev, - qtbase5-dev-tools, - qttools5-dev-tools, - libqt5svg5-dev -Standards-Version: 4.3.0 -Homepage: https://github.com/royqh1979/RedPanda-CPP - -Package: redpanda-cpp -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - gcc, - g++, - make, - gdb, - gdbserver, - astyle -Recommends: qterminal | konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix -Description: A lightweight but powerful C/C++ IDE - Red Panda C++ (Old name Red Panda Dev-C++ 7) is a full featured C/C++ IDE. - It's the succesor of Red Panda Dev-C++ 6, which is developed by Delphi 7 and - can only running under Windows. - - - diff --git a/packages/debian/control.deepin b/packages/debian/control.deepin deleted file mode 100644 index d4795740..00000000 --- a/packages/debian/control.deepin +++ /dev/null @@ -1,31 +0,0 @@ -Source: redpanda-cpp -Section: devel -Priority: optional -Maintainer: royqh1979@gmail.com -Build-Depends: debhelper (>= 12~), - qtbase5-dev, - qtbase5-dev-tools, - qttools5-dev-tools, - libqt5svg5-dev -Standards-Version: 4.3.0 -Homepage: https://github.com/royqh1979/RedPanda-CPP - -Package: redpanda-cpp -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - gcc, - g++, - make, - gdb, - gdbserver, - astyle, - qterminal -Recommends: konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix -Description: A lightweight but powerful C/C++ IDE - Red Panda C++ (Old name Red Panda Dev-C++ 7) is a full featured C/C++ IDE. - It's the succesor of Red Panda Dev-C++ 6, which is developed by Delphi 7 and - can only running under Windows. - - - diff --git a/packages/debian/copyright b/packages/debian/copyright deleted file mode 100644 index e547608b..00000000 --- a/packages/debian/copyright +++ /dev/null @@ -1,57 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: redpanda-cpp -Source: https://github.com/royqh1979/RedPanda-CPP - -Files: * -Copyright: 2020-2022 Roy Qu (瞿华) -License: GPL-3+ - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - . - On Debian systems, the complete text of the GNU General Public License - version 3 can be found in `/usr/share/common-licenses/GPL-3'. - -Files: RedPanda/SimpleIni.h -Copyright: 2006-2012 Brodie Thiesfield -License: MIT - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - . - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - -Files: asytle/* -Copyright: 2018 Jim Patee -License: MIT - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - . - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - diff --git a/packages/debian/rules b/packages/debian/rules deleted file mode 100755 index e1c6e9ac..00000000 --- a/packages/debian/rules +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/make -f -#DH_VERBOSE = 1 - -export QT_SELECT=qt5 -export DEB_BUILD_MAINT_OPTIONS = hardening=+all - -%: - dh ${@} --buildsystem qmake \ No newline at end of file diff --git a/packages/debian/update-version.sh b/packages/debian/update-version.sh deleted file mode 100755 index 58fe87b5..00000000 --- a/packages/debian/update-version.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -DEBIAN_DIR=packages/debian - -minorver=`git rev-list HEAD --count` -majorver=`head version.inc -n 1 | sed -r 's/^APP_VERSION=\"(.*)\".*$/\1/g'` -ver="${majorver}.${minorver}" - -pushd . -cd $DEBIAN_DIR - -pwd -oldver=`head changelog -n 1 | sed -r 's/^redpanda-cpp\s\((.*)-(.*)\)\s.*$/\1/g'` -count=`head changelog -n 1 | sed -r 's/^redpanda-cpp\s\((.*)-(.*)\)\s.*$/\2/g'` -echo "Old version: $oldver" - - -if [ "$oldver" != "$ver" ]; then - echo "Upgrade to $ver" - tmpfile=$(mktemp) - now=`date -R` - echo "redpanda-cpp ($ver-1) unstable; urgency=medium" >> $tmpfile - echo "" >> $tmpfile - echo " * Update to $ver" >> $tmpfile - echo "" >> $tmpfile - echo " -- Roy Qu (瞿华) $now" >> $tmpfile - echo "" >> $tmpfile - cat changelog >> $tmpfile - mv $tmpfile changelog -fi diff --git a/packages/fedora/01-in-docker.sh b/packages/fedora/01-in-docker.sh deleted file mode 100755 index 3f660843..00000000 --- a/packages/fedora/01-in-docker.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -dnf install -y dnf-plugins-core git rpm-build rpmdevtools -rpmdev-setuptree - -./packages/fedora/buildrpm.sh - -mkdir -p dist -cp ~/rpmbuild/RPMS/$(uname -m)/redpanda-cpp-git-*.rpm dist/ diff --git a/packages/fedora/buildrpm.sh b/packages/fedora/buildrpm.sh deleted file mode 100755 index 0f6f19bb..00000000 --- a/packages/fedora/buildrpm.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -SPECDIR=$(rpm --eval %{_specdir}) -SOURCEDIR=$(rpm --eval %{_sourcedir}) -BUILDDIR=$(rpm --eval %{_builddir})/redpanda-cpp-git -[[ -d $BUILDDIR ]] && rm -rf $BUILDDIR - -VERSION=$(git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g') || VERSION="0.0.r$(git rev-list HEAD --count).g$(git rev-parse --short HEAD)" -sed "s/__VERSION__/$VERSION/g" packages/fedora/redpanda-cpp-git.spec.in >$SPECDIR/redpanda-cpp-git.spec - -git archive --prefix="RedPanda-CPP/" -o "$SOURCEDIR/RedPanda-CPP.tar.gz" HEAD - -sudo dnf builddep -y $SPECDIR/redpanda-cpp-git.spec -rpmbuild --nodebuginfo -bb $SPECDIR/redpanda-cpp-git.spec diff --git a/packages/fedora/redpanda-cpp-git.spec.in b/packages/fedora/redpanda-cpp-git.spec.in deleted file mode 100644 index e3aca8dc..00000000 --- a/packages/fedora/redpanda-cpp-git.spec.in +++ /dev/null @@ -1,46 +0,0 @@ -Name: redpanda-cpp-git -Version: __VERSION__ -Release: 1%{?dist} -Summary: A fast, lightweight, open source, and cross platform C++ IDE -License: GPLv3+ -URL: https://github.com/royqh1979/RedPanda-CPP -Source0: RedPanda-CPP.tar.gz - -BuildRequires: gcc gcc-c++ -BuildRequires: qt5-qtbase-devel qt5-qtsvg-devel qt5-qttools-devel -Requires: gcc gcc-c++ astyle -Requires: glibc-static libstdc++-static libasan -Requires: qt5-qtbase qt5-qtsvg - -%description -A lightweight but powerful C/C++ IDE - -Red Panda C++ (Old name Red Panda Dev-C++ 7) is a full featured C/C++ IDE. -It's the succesor of Red Panda Dev-C++ 6, which is developed by Delphi 7 and -can only running under Windows. - -%prep -%setup -n "RedPanda-CPP" - -%build -mkdir -p %{name} -cd %{name} -qmake-qt5 \ - PREFIX=/usr \ - "%{_builddir}/RedPanda-CPP/Red_Panda_CPP.pro" -make %{_smp_mflags} - -%install -cd %{name} -make INSTALL_ROOT="%{buildroot}" install - -%files -/usr/bin/RedPandaIDE -/usr/libexec/RedPandaCPP/* -/usr/share/RedPandaCPP/* -/usr/share/doc/RedPandaCPP/* -/usr/share/applications/RedPandaIDE.desktop -/usr/share/icons/hicolor/scalable/apps/redpandaide.svg -/usr/share/mime/packages/redpandaide.xml - -%changelog diff --git a/packages/opensuse/01-in-docker.sh b/packages/opensuse/01-in-docker.sh deleted file mode 100755 index 806b3299..00000000 --- a/packages/opensuse/01-in-docker.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -DISTRO_ID=$(grep ^ID= /etc/os-release | cut -d= -f2- | tr -d '"') -VERSION_ID=$(grep ^VERSION_ID= /etc/os-release | cut -d= -f2- | tr -d '"') - -zypper in -y git rpm-build rpmdevtools sudo -rpmdev-setuptree - -./packages/opensuse/buildrpm.sh - -file=$(ls ~/rpmbuild/RPMS/$(uname -m)/redpanda-cpp-git-*.rpm) -basename=$(basename $file) - -mkdir -p dist -cp $file dist/${basename/.rpm/.$DISTRO_ID$VERSION_ID.rpm} diff --git a/packages/opensuse/buildrpm.sh b/packages/opensuse/buildrpm.sh deleted file mode 100755 index 693b9875..00000000 --- a/packages/opensuse/buildrpm.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -xeuo pipefail - -SPECDIR=$(rpm --eval %{_specdir}) -SOURCEDIR=$(rpm --eval %{_sourcedir}) -BUILDDIR=$(rpm --eval %{_builddir})/redpanda-cpp-git -[[ -d $BUILDDIR ]] && rm -rf $BUILDDIR - -VERSION=$(git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g') || VERSION="0.0.r$(git rev-list HEAD --count).g$(git rev-parse --short HEAD)" -sed "s/__VERSION__/$VERSION/g" packages/opensuse/redpanda-cpp-git.spec.in >$SPECDIR/redpanda-cpp-git.spec - -git archive --prefix="RedPanda-CPP/" -o "$SOURCEDIR/RedPanda-CPP.tar.gz" HEAD - -sudo zypper in -y $(rpmspec -q --buildrequires $SPECDIR/redpanda-cpp-git.spec) -rpmbuild --nodebuginfo -bb $SPECDIR/redpanda-cpp-git.spec diff --git a/packages/opensuse/redpanda-cpp-git.spec.in b/packages/opensuse/redpanda-cpp-git.spec.in deleted file mode 100644 index b3644383..00000000 --- a/packages/opensuse/redpanda-cpp-git.spec.in +++ /dev/null @@ -1,46 +0,0 @@ -Name: redpanda-cpp-git -Version: __VERSION__ -Release: 1%{?dist} -Summary: A fast, lightweight, open source, and cross platform C++ IDE -License: GPLv3+ -URL: https://github.com/royqh1979/RedPanda-CPP -Source0: RedPanda-CPP.tar.gz - -BuildRequires: gcc gcc-c++ -BuildRequires: libqt5-qtbase-devel libqt5-qtsvg-devel libqt5-qttools-devel -Requires: gcc gcc-c++ astyle -Requires: glibc-devel-static -Requires: libQt5Core5 libQt5Gui5 libQt5Svg5 - -%description -A lightweight but powerful C/C++ IDE - -Red Panda C++ (Old name Red Panda Dev-C++ 7) is a full featured C/C++ IDE. -It's the succesor of Red Panda Dev-C++ 6, which is developed by Delphi 7 and -can only running under Windows. - -%prep -%setup -n "RedPanda-CPP" - -%build -mkdir -p %{name} -cd %{name} -qmake-qt5 \ - PREFIX=/usr \ - "%{_builddir}/RedPanda-CPP/Red_Panda_CPP.pro" -make %{_smp_mflags} - -%install -cd %{name} -make INSTALL_ROOT="%{buildroot}" install - -%files -/usr/bin/RedPandaIDE -/usr/libexec/RedPandaCPP/* -/usr/share/RedPandaCPP/* -/usr/share/doc/RedPandaCPP/* -/usr/share/applications/RedPandaIDE.desktop -/usr/share/icons/hicolor/scalable/apps/redpandaide.svg -/usr/share/mime/packages/redpandaide.xml - -%changelog diff --git a/packages/xmingw/build-xp.sh b/packages/xmingw/build-xp.sh deleted file mode 100755 index f2822f7b..00000000 --- a/packages/xmingw/build-xp.sh +++ /dev/null @@ -1,275 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -function fn_print_help() { - cat < [-c|--clean] [-nd|--no-deps] [-t|--target-dir

] -Options: - -h, --help Display this information. - -p, --profile MinGW Lite profile. - MUST be used before other options. - -c, --clean Clean build and package directories. - --mingw Alias for --mingw32 (x86 app) or --mingw64 (x64 app). - --mingw32 Build mingw32 integrated compiler. - --mingw64 Build mingw64 integrated compiler. -EOF -} - -source version.inc -if [[ -n "$APP_VERSION_SUFFIX" ]]; then - APP_VERSION="$APP_VERSION$APP_VERSION_SUFFIX" -fi - -if [[ $# -lt 2 || ($1 != "-p" && $1 != "--profile") ]]; then - echo "Missing profile argument." - exit 1 -fi - -PROFILE=$2 -shift 2 - -case "${PROFILE}" in - 64-ucrt|64-msvcrt) - NSIS_ARCH=x64 - TARGET=x86_64-w64-mingw32 - PACKAGE_BASENAME="redpanda-cpp-${APP_VERSION}-ws2003_x64" - ;; - 32-ucrt) - NSIS_ARCH=x86 - TARGET=i686-w64-mingw32 - PACKAGE_BASENAME="redpanda-cpp-${APP_VERSION}-winxp_x86" - ;; - 32-msvcrt) - NSIS_ARCH=x86 - TARGET=i686-w64-mingw32 - PACKAGE_BASENAME="redpanda-cpp-${APP_VERSION}-win2000_x86" - ;; - *) - echo "Invalid profile: ${PROFILE}" - echo "Available profiles: 64-ucrt, 64-msvcrt, 32-ucrt, 32-msvcrt" - exit 1 - ;; -esac - -CLEAN=0 -compilers=() -COMPILER_MINGW32=0 -COMPILER_MINGW64=0 -while [[ "$#" -gt 0 ]]; do - case $1 in - -h|--help) - fn_print_help - exit 0 - ;; - -c|--clean) - CLEAN=1 - shift - ;; - --mingw) - case "$PROFILE" in - 64-ucrt|64-msvcrt) - compilers+=("mingw64") - COMPILER_MINGW64=1 - shift - ;; - 32-ucrt|32-msvcrt) - compilers+=("mingw32") - COMPILER_MINGW32=1 - shift - ;; - esac - ;; - --mingw32) - compilers+=("mingw32") - COMPILER_MINGW32=1 - shift - ;; - --mingw64) - compilers+=("mingw64") - COMPILER_MINGW64=1 - shift - ;; - *) - echo "Unknown argument: $1" - exit 1 - ;; - esac -done - -QT_VERSION=5.15.15+redpanda0 -MINGW_LITE_BRANCH=14 - -ASTYLE_VERSION_TAG="3.6.2" -TARGET_DIR="$PWD/dist" -BUILD_DIR="/tmp/build/redpanda-xp-$PROFILE-build" -ASTYLE_BUILD_DIR="$BUILD_DIR/astyle" -PACKAGE_DIR="/tmp/build/redpanda-xp-$PROFILE-pkg" -SOURCE_DIR="$PWD" -ASSETS_DIR="$PWD/assets" - -QT_ARCHIVE="x-qt-$QT_VERSION-$PROFILE.tar.zst" -QT_DIR="/opt/x-mingw$PROFILE-$MINGW_LITE_BRANCH" - -REDPANDA_MINGW_RELEASE="11.5.0-r0" -MINGW32_ARCHIVE="mingw32-$REDPANDA_MINGW_RELEASE.7z" -MINGW32_COMPILER_NAME="MinGW-w64 i686 GCC" -MINGW32_PACKAGE_SUFFIX="mingw32" - -MINGW64_ARCHIVE="mingw64-$REDPANDA_MINGW_RELEASE.7z" -MINGW64_COMPILER_NAME="MinGW-w64 x86_64 GCC" -MINGW64_PACKAGE_SUFFIX="mingw64" - -if [[ ${#compilers[@]} -eq 0 ]]; then - PACKAGE_BASENAME="$PACKAGE_BASENAME-none" -else - [[ "$COMPILER_MINGW32" -eq 1 ]] && PACKAGE_BASENAME="$PACKAGE_BASENAME-$MINGW32_PACKAGE_SUFFIX" - [[ "$COMPILER_MINGW64" -eq 1 ]] && PACKAGE_BASENAME="$PACKAGE_BASENAME-$MINGW64_PACKAGE_SUFFIX" -fi - -function fn_print_progress() { - echo -e "\e[1;32;44m$1\e[0m" -} - -## prepare dirs - -if [[ "$CLEAN" -eq 1 ]]; then - rm -rf "$BUILD_DIR" - rm -rf "$PACKAGE_DIR" -fi -mkdir -p "$BUILD_DIR" "$PACKAGE_DIR" "$TARGET_DIR" "$ASTYLE_BUILD_DIR" "$ASSETS_DIR" - -## install deps - -if [[ -v MIRROR && -n $MIRROR ]] -then - sed -i "s|archive.ubuntu.com|$MIRROR|; s|security.ubuntu.com|$MIRROR|" /etc/apt/sources.list.d/ubuntu.sources -fi - -apt update -env DEBIAN_FRONTEND=noninteractive \ - apt install -y --no-install-recommends \ - 7zip ca-certificates cmake curl git make nsis qttools5-dev-tools zstd - -if [[ ! -f "$ASSETS_DIR/$QT_ARCHIVE" ]]; then - fn_print_progress "Downloading Qt" - curl -L "https://github.com/redpanda-cpp/qtbase-xp/releases/download/$QT_VERSION/$QT_ARCHIVE" -o "$ASSETS_DIR/$QT_ARCHIVE" -fi -zstdcat "$ASSETS_DIR/$QT_ARCHIVE" | tar -x -C / - -export PATH="$QT_DIR/bin:$PATH" - -## prepare assets - -fn_print_progress "Updating astyle repo..." -if [[ ! -d "$ASSETS_DIR/astyle" ]]; then - git clone --bare "https://gitlab.com/saalen/astyle" "$ASSETS_DIR/astyle" -fi -pushd "$ASSETS_DIR/astyle" -if [[ -z "$(git tag -l "$ASTYLE_VERSION_TAG")" ]]; then - git fetch --all --tags -fi -popd - -if [[ "$COMPILER_MINGW32" -eq 1 && ! -f "$ASSETS_DIR/$MINGW32_ARCHIVE" ]]; then - fn_print_progress "Downloading MinGW32..." - curl -L "https://github.com/redpanda-cpp/toolchain-win32-mingw-xp/releases/download/$REDPANDA_MINGW_RELEASE/$MINGW32_ARCHIVE" -o "$ASSETS_DIR/$MINGW32_ARCHIVE" -fi -if [[ "$COMPILER_MINGW64" -eq 1 && ! -f "$ASSETS_DIR/$MINGW64_ARCHIVE" ]]; then - fn_print_progress "Downloading MinGW64..." - curl -L "https://github.com/redpanda-cpp/toolchain-win32-mingw-xp/releases/download/$REDPANDA_MINGW_RELEASE/$MINGW64_ARCHIVE" -o "$ASSETS_DIR/$MINGW64_ARCHIVE" -fi - -## build - -fn_print_progress "Building astyle..." -pushd "$ASSETS_DIR/astyle" -git --work-tree="$ASTYLE_BUILD_DIR" checkout -f "$ASTYLE_VERSION_TAG" -popd - -pushd "$ASTYLE_BUILD_DIR" -sed -i "s|||" AStyle/src/*.cpp - -cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME="Windows" -DCMAKE_CC_COMPILER="$TARGET-gcc" -DCMAKE_CXX_COMPILER="$TARGET-g++" -DCMAKE_EXE_LINKER_FLAGS="-static" -make -j$(nproc) -cp AStyle/AStyle.exe "$PACKAGE_DIR/astyle.exe" -popd - -fn_print_progress "Building..." -pushd "$BUILD_DIR" -qmake_flags=() -if [[ "$NSIS_ARCH" == x64 ]]; then - qmake_flags+=("X86_64=ON") -fi -qmake PREFIX="$PACKAGE_DIR" "${qmake_flags[@]}" -o Makefile "$SOURCE_DIR/Red_Panda_CPP.pro" -r -make -j$(nproc) -make install -popd - -## prepare packaging resources - -pushd "$PACKAGE_DIR" - -cp "$SOURCE_DIR/platform/windows/qt.conf" . - -cp "$SOURCE_DIR"/platform/windows/installer-scripts/{lang.nsh,utils.nsh,redpanda.nsi} . -popd - -## make package - -pushd "$PACKAGE_DIR" -SETUP_NAME="$PACKAGE_BASENAME.exe" -PORTABLE_NAME="$PACKAGE_BASENAME.7z" - -fn_print_progress "Making installer..." - -nsis_flags=( - -DAPP_VERSION="$APP_VERSION" - -DARCH="$NSIS_ARCH" - -DFINALNAME="$SETUP_NAME" - -DMINGW32_COMPILER_NAME="$MINGW32_COMPILER_NAME" - -DMINGW64_COMPILER_NAME="$MINGW64_COMPILER_NAME" -) -case "$PROFILE" in - 64-ucrt|64-msvcrt) - nsis_flags+=( - -DREQUIRED_WINDOWS_BUILD=3790 - -DREQUIRED_WINDOWS_NAME="Windows Server 2003" - ) - ;; - 32-ucrt) - nsis_flags+=( - -DREQUIRED_WINDOWS_BUILD=2600 - -DREQUIRED_WINDOWS_NAME="Windows XP" - ) - ;; - 32-msvcrt) - nsis_flags+=( - -DREQUIRED_WINDOWS_BUILD=2195 - -DREQUIRED_WINDOWS_NAME="Windows 2000" - ) - ;; -esac -if [[ "$COMPILER_MINGW32" -eq 1 ]]; then - nsis_flags+=(-DHAVE_MINGW32) - if [[ ! -d mingw32 ]]; then - 7z x "$ASSETS_DIR/$MINGW32_ARCHIVE" -o"$PACKAGE_DIR" - fi -fi -if [[ "$COMPILER_MINGW64" -eq 1 ]]; then - nsis_flags+=(-DHAVE_MINGW64) - if [[ ! -d mingw64 ]]; then - 7z x "$ASSETS_DIR/$MINGW64_ARCHIVE" -o"$PACKAGE_DIR" - fi -fi -makensis "${nsis_flags[@]}" redpanda.nsi - -fn_print_progress "Making Portable Package..." -7z x "$SETUP_NAME" -o"RedPanda-CPP" -xr'!$PLUGINSDIR' -x"!uninstall.exe" -7z a -mmt -mx9 -ms=on -mqs=on -mf=BCJ2 "$PORTABLE_NAME" RedPanda-CPP -rm -rf RedPanda-CPP - -mv "$SETUP_NAME" "$TARGET_DIR" -mv "$PORTABLE_NAME" "$TARGET_DIR" -popd