Package Details: myoffice-standard-home-edition-bin 2.3.0-1

Git Clone URL: https://aur.archlinux.org/myoffice-standard-home-edition-bin.git (read-only, click to copy)
Package Base: myoffice-standard-home-edition-bin
Description: A set of office applications for creating text and spreadsheet documents. Home edition.
Upstream URL: https://myoffice.ru/products/standard-home-edition/
Licenses: EULA
Groups: myoffice
Submitter: TheK0tYaRa
Maintainer: TheK0tYaRa
Last Packager: TheK0tYaRa
Votes: 9
Popularity: 0.20
First Submitted: 2022-01-14 16:36 (UTC)
Last Updated: 2023-03-04 21:09 (UTC)

Latest Comments

domhathair commented on 2024-03-12 11:46 (UTC) (edited on 2024-03-12 11:57 (UTC) by domhathair)

You can use newer version of PKGBUILD:

PKGBUILD
pkgname=myoffice-standard-home-edition-bin
pkgver=2.7.0
pkgrel=1
pkgdesc="A set of office applications for creating text and spreadsheet documents. Home edition."
arch=('x86_64')
url="https://myoffice.ru"
license=('EULA')
groups=('myoffice')
depends=('fontconfig' 'freetype2' 'glib2' 'hunspell' 'krb5' 'libcups' 'libglvnd' 'libpng' 'libpulse'
    'libx11' 'libxcb' 'libxext' 'libxkbcommon' 'libxkbcommon-x11' 'libxrender' 'link-grammar' 'lua'
    'mono' 'openssl-1.1' 'pcre2' 'pixman' 'qt5-base' 'qt5-multimedia' 'qt5-svg' 'zlib' 'bc')
options=('!strip' '!emptydirs')
install=${pkgname}.install
source_x86_64=("https://preset.myoffice-app.ru/myoffice-standard-home-edition_2.7.0_amd64.deb")
sha512sums_x86_64=('4d4d101fc4060a3d01328c1e3f82755d6653af1f2d1e36cbace77c591f7106d68c107f1f40f94bf6f99b6d2fb166df452c81f5cb77ccdbee6b4655604595932a')

package(){

    # Extract package data
    tar -xz -f data.tar.gz -C "${pkgdir}"

    install -D -m644 "${pkgdir}/opt/myoffice-standard-home-edition/Resources/UI/tt/LicenseAgreements.rcc" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

}

And for .install file:

myoffice-standard-home-edition-bin.install
post_install() {
    xdg-icon-resource forceupdate --theme hicolor &> /dev/null
    #
    # Copyright (c) New Cloud Technologies, Ltd., 2013-2021
    #
    # You can not use the contents of the file in any way without
    # New Cloud Technologies, Ltd. written permission.
    #
    # To obtain such a permit, you should contact New Cloud Technologies, Ltd.
    # at http://ncloudtech.com/contact.html
    #
    #
    set -u

    DISPLAY=''

    echo "Running post install script..."

    # This script may run not from the app's dist directory (this true in case of DEB package)
    # The placeholder is overriden during the package configuration
    SCRIPT_DIR="/opt/myoffice-standard-home-edition"
    CO_PRODUCT_ARTIFACT_SUFFIX="-home-edition"

    source "${SCRIPT_DIR}/Common.2.7.0.sh"

    # Initialize licensing - for linux create cache of HW ids, due to reading of them requires root access
    createHardwareIdCache()
    {
        local boardSerial=$(cat /sys/devices/virtual/dmi/id/board_serial | tr -d '\n')
        local productUuid=$(cat /sys/devices/virtual/dmi/id/product_uuid | tr -d '\n' | tr '[:lower:]' '[:upper:]')
        local idFile="${RESOURCES_DIR}/"
        mkdir -p "${RESOURCES_DIR}"

        echo "${boardSerial} | ${productUuid}" > "${idFile}"
        chmod go=r "${idFile}"
    }

    if [[ "" != "" ]]; then
        createHardwareIdCache
    fi

    # Workaround for bug in xdg. See https://bugs.archlinux.org/task/33316 for details
    mkdir -p /usr/share/desktop-directories/

    registerAppMime()
    {
        # Set default mimetypes for apps https://jira.ncloudtech.ru:8090/browse/DES-905
        xdg-mime default "$1" $(grep ^MimeType "/usr/share/applications/$1" | cut -d = -f 2- | tr ';' ' ') > /dev/null 2> /dev/null || true
    }

    # register in desktop environment
    for name in "${APPS[@]}"; do
        registerAppMime "${name}.desktop"
    done

    # Registering our own mime types
    if [[ "${ENABLE_MIME_REGISTRATION}" != "0" ]]; then
        xdg-mime install --mode system --novendor "${SCRIPT_DIR}/myoffice_mimes.xml" > /dev/null 2> /dev/null
    fi

    registerIcon()
    {
        # Workaround for an issue in the xdg-icon-resource utility
        # For details see https://bugs.launchpad.net/ubuntu/+source/xdg-utils/+bug/1488787
        xdg-icon-resource install --noupdate --theme "$1" --mode system --novendor --context "$2" --size "$4" /usr/share/icons/hicolor/$4x$4/$3${CO_PRODUCT_ARTIFACT_SUFFIX}_$4.png "$5"
    }

    for size in "${IFW_ICON_SIZE[@]}"; do
        for (( i=0; i<${#APP_ICON_SRC[*]}; i++ )); do
            registerIcon hicolor apps "${APP_ICON_SRC[i]}" "${size}" "${APPS[i]}"
        done
    done

    if [[ "${INSTALL_SVG_ICONS}" == "0" ]]; then
        IFW_ICON_THEME_NAME="hicolor"
        for size in "${IFW_ICON_SIZE[@]}"; do
            for (( i=0; i<${#MIME_ICON_SRC[*]}; i++ )); do
                registerIcon "${IFW_ICON_THEME_NAME}" mimetypes "${MIME_ICON_SRC[i]}" "${size}" "${MIME_ICON_DEST[i]}"
            done
        done
    fi

    # TODO: register own mime types if Libre was not installed
    if [[ ${UPDATE_MIME_DATABASE_WORKAROUND} -eq 0 ]]; then
        update-mime-database /usr/share/mime
    else
        PKGSYSTEM_ENABLE_FSYNC=0 update-mime-database /usr/share/mime
    fi

    # Fonts
    fc-cache

    # We need to turn on antialiasing in Astra Linux to make fonts rendering better in our app.
    # It has been agreed with the developers of Astra. These changes are restored during the uninstallation.
    backupFontConfig()
    {
        local fontConfigFolder="/etc/fonts/conf.avail"

        if [ -f "${fontConfigFolder}/${1}" ]; then
            mv "${fontConfigFolder}/${1}" "${fontConfigFolder}/${1}.backup"
        fi
    }

    if [[ "$IFW_LINUX_DISTRIBUTION" == "astra" ]]; then
        backupFontConfig "19-fly-no-antialiasing.conf" # Used in version 1.4
        backupFontConfig "29-fly-rendering.conf" # Used in version 1.5
    fi

    # Apps icons registered to hicolor theme, so need to refresh it
    xdg-icon-resource forceupdate --theme hicolor --mode system
    gtk-update-icon-cache -ft "${DEFAULT_ICON_PREFIX}/hicolor" > /dev/null 2> /dev/null || true

    echo "Done."
    update-desktop-database -q
}

post_upgrade() {
    post_install
}

pre_remove() {
    #
    # Copyright (c) New Cloud Technologies, Ltd., 2013-2021
    #
    # You can not use the contents of the file in any way without
    # New Cloud Technologies, Ltd. written permission.
    #
    # To obtain such a permit, you should contact New Cloud Technologies, Ltd.
    # at http://ncloudtech.com/contact.html
    #
    #
    set -u

    DISPLAY=''

    # This script may run not from the app's dist directory (this true in case of DEB package)
    # The placeholder is overriden during the package configuration
    SCRIPT_DIR="/opt/myoffice-standard-home-edition"
    CONFIG_DIR="New Cloud Technologies Ltd."

    source "${SCRIPT_DIR}/Common.2.7.0.sh"

    if [[ "${TAG}" == "upgrade" || "${TAG}" == "1" ]]; then
        echo "Skipping uninstall step..."
        exit 0
    fi

    IFW_MENU_DEST_DIR=$(probe_menu_installation_path)

    # Unistalling icons
    for size in "${IFW_ICON_SIZE[@]}"; do
        for name in "${APPS[@]}"; do
            xdg-icon-resource uninstall --theme hicolor --mode system --size "${size}" --context apps --size "${size}" "${name}"
        done
    done

    uninstallIconsForTheme()
    {
        for size in "${IFW_ICON_SIZE[@]}"; do
            for name in "${MIME_ICON_DEST[@]}"; do
                xdg-icon-resource uninstall --theme "${1}" --mode system --context mimetypes --size "${size}" "${name}"
            done
        done
    }

    if [[ "${INSTALL_SVG_ICONS}" == "0" ]]; then
        uninstallIconsForTheme hicolor
    fi

    if [[ "${INSTALL_RASTER_ICONS_ONLY}" == "1" ]]; then
        for IFW_ICON_THEME_NAME in ${ICON_THEMES}; do
            INDEX_FILE="${DEFAULT_ICON_PREFIX}/${IFW_ICON_THEME_NAME}/index.theme"
            if [ ! -e "${INDEX_FILE}" ]; then
                continue
            fi

            if [[ "${IFW_ICON_THEME_NAME}" == "hicolor" ]]; then
                # This theme is already uninstalled
                continue
            fi

            uninstallIconsForTheme "${IFW_ICON_THEME_NAME}"
        done
    fi

    restoreFileFromBackup()
    {
        local target=$1

        if [ -f "${target}" ]; then
            local backupHash=$(cat "${BACKUP_DIR}/icons/${target}.md5")
            local targetHash=$(md5sum "${target}" | cut -d ' ' -f 1)

            if [[ "${backupHash}" == "${targetHash}" ]]; then
                cp --remove-destination -f "${BACKUP_DIR}/icons/${target}" "${target}" || true
            fi
        elif [[ -L "${target}" && ! -e "${target}" ]]; then
            cp --remove-destination -f "${BACKUP_DIR}/icons/${target}" "${target}" || true
        fi
    }

    findAndRestore()
    {
        if [ -f "$1" ]; then
            if [[ "$1" == *.png || "$1" == *.svg ]]; then
                restoreFileFromBackup "${1#'.'}"
            fi
        elif [ -d "$1" ]; then
            for f in "$1"/*; do
                findAndRestore "${f}"
            done
        fi
    }

    # Restoring overwritten icons
    if [ -d "${BACKUP_DIR}/icons" ]; then
        cd "${BACKUP_DIR}/icons/"
        findAndRestore .
        cd "${MAINTENANCE_DIR}"
        rm -rf "${BACKUP_DIR}/icons"
    fi

    if [ -f "${MAINTENANCE_DIR}/icons.list" ]; then
        for f in $(cat "${MAINTENANCE_DIR}/icons.list"); do
            rm -f "${f}" || true
        done
    fi

    # Restoring font config changes
    restoreFontConfig()
    {
        local fontConfigFolder="/etc/fonts/conf.avail"

        if [ -f "${fontConfigFolder}/${1}.backup" ]; then
            mv "${fontConfigFolder}/${1}.backup" "${fontConfigFolder}/${1}"
        fi
    }

    if [[ "$IFW_LINUX_DISTRIBUTION" == "astra" ]]; then
        restoreFontConfig "19-fly-no-antialiasing.conf" # Used in version 1.4
        restoreFontConfig "29-fly-rendering.conf" # Used in version 1.5
    fi

    updateCacheForTheme()
    {
        xdg-icon-resource forceupdate --theme "${1}" --mode system || true
        gtk-update-icon-cache -ft "${DEFAULT_ICON_PREFIX}/${1}" > /dev/null 2> /dev/null || true
    }

    for IFW_ICON_THEME_NAME in ${ICON_THEMES}; do
        INDEX_FILE="${DEFAULT_ICON_PREFIX}/${IFW_ICON_THEME_NAME}/index.theme"
        if [ ! -e "${INDEX_FILE}" ]; then
            continue
        fi

        updateCacheForTheme "${IFW_ICON_THEME_NAME}"
    done

    echo "Done"
}

post_remove() {
    xdg-icon-resource forceupdate --theme hicolor &> /dev/null
    update-desktop-database -q
}

Triplay commented on 2023-10-02 13:40 (UTC)

After package is uninstalled, the folder "/usr/share/fonts/myoffice/" with installed fonts remains in the system.

kamar56 commented on 2023-02-25 21:01 (UTC)

Для установки в PKGBUILD нужно указать sha512 от новой версии. В файле myoffice-standard-home-edition-bin.install в графе source "${SCRIPT_DIR}/Common.2.3.0.sh" указать корректную версию скачанного deb пакета

TheK0tYaRa commented on 2022-02-16 04:06 (UTC)

Also please compile with LANG=C

TheK0tYaRa commented on 2022-02-16 03:53 (UTC)

Need more logs. It works clean on my machine.

==> Making package: myoffice-standard-home-edition-bin 1.28.0.4-2022.01 (Ср 16 фев 2022 05:50:47)
==> Retrieving sources...
  -> Found myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb
==> Validating source_x86_64 files with sha512sums...
    myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb ... Passed
==> Making package: myoffice-standard-home-edition-bin 1.28.0.4-2022.01 (Ср 16 фев 2022 05:50:56)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb
==> Validating source_x86_64 files with sha512sums...
    myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb with bsdtar
==> Sources are ready.
myoffice-standard-home-edition-bin-1.28.0.4-2022.01: parsing pkg list...
==> Making package: myoffice-standard-home-edition-bin 1.28.0.4-2022.01 (Ср 16 фев 2022 05:51:15)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing empty directories...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "myoffice-standard-home-edition-bin"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: myoffice-standard-home-edition-bin 1.28.0.4-2022.01 (Ср 16 фев 2022 05:51:48)
==> Cleaning up...
loading packages...
warning: myoffice-standard-home-edition-bin-1.28.0.4-2022.01 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

smwed commented on 2022-01-20 05:50 (UTC) (edited on 2022-01-20 05:51 (UTC) by smwed)

Не собирается:

==> Сборка пакета myoffice-standard-home-edition-bin 1.28.0.4-2022.01 (Чт 20 янв 2022 09:47:56)

==> Проверка зависимостей для запуска...

==> Проверка зависимостей для сборки...

==> Получение исходных файлов...

-> Найден myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb

==> Проверка файлов source_x86_64 с использованием sha512sums...

myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb ... Готово

==> Распаковка исходных файлов...

-> Распаковка 'myoffice-standard-home-edition_2022.01-1.28.0.4_amd64.deb' с помощью bsdtar

==> Вход в окружение fakeroot...

==> Запускается package()...

==> Очистка...

-> Удаление пустых директорий...

-> Удаление файлов libtool...

-> Удаление ненужных файлов...

-> Удаление статических библиотек...

-> Сжатие документации (man и info)...

==> Проверка сборки на ошибки...

==> Создание пакета "myoffice-standard-home-edition-bin"...

-> Создание файла '.PKGINFO'...

-> Создание файла '.BUILDINFO'...

-> Добавление файла 'install'...

-> Создание файла '.MTREE'...

-> Сжатие пакета...

==> Выход из окружения fakeroot.

==> Завершена сборка пакета myoffice-standard-home-edition-bin 1.28.0.4-2022.01 (Чт 20 янв 2022 09:48:06)

==> Очистка...

:: Unable to find a built tarball for myoffice-standard-home-edition-bin