summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 4cb4f1a1e72ae4652a848ee8c249a89460121f79 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Maintainer: L. Gayral <lgayral@math.cnrs.fr>
# Contributor: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
# Contributor: ccat3z <c0ldcat3z@gmail.com>
# Contributor: heavysink <winstonwu91 at gmail>

_pkgname=miktex

pkgname=$_pkgname-git
conflicts=("${_pkgname}")
pkgver=26.2.2.g245424e08
pkgrel=2
pkgdesc="A distribution of the TeX/LaTeX typesetting system."
arch=('x86_64')
url="https://miktex.org"
license=('custom:MiKTeX License')
depends=('apr' 'boost-libs' 'apr-util' 'bzip2' 'cairo' 'expat' 'fontconfig' 'freetype2'
         'fribidi' 'gd' 'gmp' 'graphite' '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')

_url="https://github.com/MiKTeX/${_pkgname}"
_pkgsrc="${_pkgname}"
source=("${_pkgsrc}::git+${_url}.git")
md5sums=('SKIP')

options=('!buildflags')

pkgver() {
  cd "${srcdir}/${_pkgname}"
  git describe | sed 's/-/./g'
}

prepare() {
    cd "$srcdir/$_pkgname"
    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 -e '1i #include <cstdint>' Programs/DviWare/dvisvgm/source/libs/woff2/include/woff2/output.h
}

build() {
    cd "$srcdir/$_pkgname"
    [ -d build ] || mkdir build
    cd build
    cmake   -DCMAKE_BUILD_TYPE='None' -DCMAKE_INSTALL_PREFIX=/opt/miktex \
            -DWITH_UI_QT=ON \
            -DUSE_SYSTEM_POPPLER=TRUE -DUSE_SYSTEM_POPPLER_QT=TRUE \
            -DUSE_SYSTEM_HARFBUZZ=FALSE -DUSE_SYSTEM_HARFBUZZ_ICU=FALSE \
            -Wno-dev ..
    make -j2
}

package() {
    cd "$srcdir/$_pkgname/build"
    make DESTDIR="$pkgdir/" install
 
    cd "$srcdir/$_pkgname"
    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/{}" \;
}