summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 5cd6449fccb3275265b6a14b726fb53275575fb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Maintainer: ccat3z <c0ldcat3z@gmail.com>
# Maintainer: heavysink <winstonwu91 at gmail>

pkgname=miktex
pkgver=25.3
pkgrel=1
pkgdesc="a distribution of the TeX/LaTeX typesetting system"
arch=('x86_64')
url="https://miktex.org"
license=('custom')
depends=('apr' 'boost-libs' 'apr-util' 'bzip2' 'cairo' 'expat' 'fontconfig' 'freetype2'
         'fribidi' 'gd' 'gmp' 'graphite' 'harfbuzz-icu' 'hunspell' 'icu'
         'libjpeg' 'log4cxx' 'xz' 'mpfr' 'libmspack' 'openssl' 'pixman' 'libpng'
         'poppler' 'popt' 'potrace' 'uriparser' 'hicolor-icon-theme' 'zziplib' 'poppler-qt6' 'qt6-declarative' 'qt6-5compat' 'mpfi')
makedepends=('cmake' 'coreutils' 'fop' 'sed' 'libxslt' 'qt6-tools' 'boost')
source=("https://github.com/MiKTeX/miktex/archive/${pkgver}.tar.gz")
md5sums=('d78fe5aefafae349267fcab6957cf738')
options=('!buildflags')

prepare() {
    cd "$srcdir/$pkgname-$pkgver"
    find . -name "*.h" -exec sed -i 's|log4cxx/rollingfileappender.h|log4cxx/rolling/rollingfileappender.h|g' {} +
    find . -name "*.cpp" -exec sed -i 's|log4cxx/rollingfileappender.h|log4cxx/rolling/rollingfileappender.h|g' {} +
    cp cmake/modules/FindPOPPLER_QT5.cmake cmake/modules/FindPOPPLER_QT6.cmake
    sed -i 's/QT5/QT6/g' cmake/modules/FindPOPPLER_QT6.cmake
    sed -i 's/qt5/qt6/g' cmake/modules/FindPOPPLER_QT6.cmake
    #sed -i 's|tm/packages/|tm/packages|g' CMakeLists.txt
}
build() {
    cd "$srcdir/$pkgname-$pkgver"
    [ -d build ] || mkdir build
    cd build
    #export MIKTEX_REPOSITORY=https://mirrors.aliyun.com/CTAN/systems/win32/miktex/tm/packages/
    cmake -DCMAKE_BUILD_TYPE='None' -DCMAKE_INSTALL_PREFIX=/opt/miktex -DWITH_UI_QT=ON -DUSE_SYSTEM_POPPLER=TRUE -DUSE_SYSTEM_POPPLER_QT=TRUE ..
    make -j2
}

package() {
    cd "$srcdir/$pkgname-$pkgver/build"
    make DESTDIR="$pkgdir/" install
 
    cd "$srcdir/$pkgname-$pkgver"
    install -vDm644 "README.md"    "${pkgdir}/usr/share/doc/${pkgname}/README.md"
    install -vDm644 "HACKING.md"   "${pkgdir}/usr/share/doc/${pkgname}/HACKING.md"
    install -vDm644 "CHANGELOG.md" "${pkgdir}/usr/share/doc/${pkgname}/CHANGELOG.md"
    install -vDm644 "COPYING.md"   "${pkgdir}/usr/share/licenses/${pkgname}/COPYING.md"

    cd "${pkgdir}/opt/${pkgname}"
    find "share" -type f -exec install -Dm644 "{}" "${pkgdir}/usr/{}" \;
    find "man"   -type f -exec install -Dm644 "{}" "${pkgdir}/usr/share/{}" \;
    rm -rf "share" "man"

    cd "${pkgdir}/usr/share/applications"
    find "icons" -type f -exec install -Dm644 "{}" "${pkgdir}/usr/share/{}" \;
    rm -rf "icons"


    sed -i 's|Exec=|Exec=/opt/miktex/bin/|' "miktex-console.desktop"

    cd "${pkgdir}/usr/share/polkit-1/actions"
    sed -i 's|/usr/bin|/opt/miktex/bin|' "miktex-console.policy"

    cd "${pkgdir}/opt/${pkgname}/bin"
    for _gsu in pkexec kdesu gksu; do
        ln -s "/usr/bin/${_gsu}" "${_gsu}"
    done

    install -dm755 "${pkgdir}/usr/bin"
    find . -type f -name 'miktex*' -exec ln -s "/opt/miktex/bin/{}" "${pkgdir}/usr/bin/{}" \;
}