summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f97e21c753948b76d2700c8bae76a83957e6ef90 (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
90
91
92
93
94
95
# Maintainer: Edmund Lodewijks <e.lodewijks@gmail.com>
# Contributor: David Runge <dvzrv@archlinux.org>
# Contributor: Ray Rashif <schiv@archlinux.org>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
# Contributor: sickhate <sickhate@tux-linux.net>

pkgname=solfege
pkgver=3.23.4
pkgrel=11
pkgdesc="Music education and ear training software"
arch=('x86_64')
url="https://www.gnu.org/software/solfege/"
license=('GPL-3.0-only')
groups=('pro-audio')
depends=('gtk3' 'python-cairo' 'python-gobject' 'bash' 'pango' 'gdk-pixbuf2')
makedepends=('docbook-xsl' 'ghostscript' 'itstool' 'lilypond' 'swig' 'texinfo' 'txt2man')
optdepends=('csound: Generate example sounds'
            'timidity++: MIDI playback'
            'fluidsynth: real-time software synthesizer based on the SoundFont 2 specifications (MIDI playback)'
            'mma: Musical MIDI Accompaniment generator'
            'alsa-utils: for aplay'
            'mpg123: Mp3 playback'
            'vorbis-tools: Ogg playback'
            'lilypond: Generate print-outs and score sheets'
            'texlive-bin: Generate reports')
source=("https://git.savannah.gnu.org/cgit/solfege.git/snapshot/${pkgname}-${pkgver}.tar.gz"
        'hidden_menubar.patch'
        'fix_css.patch'
        'fix_lilypond_eps_file_mismatch.patch'
        'reproducible-build.patch'
        'do-not-run-xmllint.patch'
        'itstool.patch'
        'rm-linux-headers-from-CFLAGS.patch'
        'solfege.install')
sha512sums=('f2ef7bdb3d1eb15842d803d4d093a177096b6960b211cd3607101f2c03c29fcd3f5151d3b02be4a04236305d18658ba6fa3b5a771b04be4a65f646e27b31914b'
            '1f7340b7ba4224900b94af8060c125f631748938488c87b5c26e20feb2f8b24e927fe5fc8bb9591d6ab87d6b16a11462373b6d3324a9a95c97f1d4352b35de1f'
            '631f5c5d3155927026cd33e75f65561302ec241af2db535e4db351c639812f74c0145940447d5acf58746af20a786c54c8e8aa294aaca8e13b99ad2da6019c53'
            'c264f4b98c5fea78cc071058c6b623a68d98545e1e3b3b21bd9bfe2ffdcd1989876e83c08888d9278e48debb6412f79c5bf99d0a8e9280fd552639dbaf885d2b'
            'f853d37106f079c18fe699ba70ecff6671d3ed5fdc3a45bfd8dd9ccef3737dd209c666ad4ce09278b6beb429cf27d8cb62f771ec5c348130a4073adbfb3bf49e'
            '3eda0a2c845d6f4e82b79542835a9a20658a522c86b162821b0b0a61187505c811710660ee1fa5395709f14607fbd8e95b542263c155284e47950b5178a1854d'
            'c18dce43d22f81b288ce6b3b42f76457e7371adf83e89f92676b3c96535c1b4eaf64037e32d4d650d126c65551aab4fa67f4479a86e7c2579305790829de6f44'
            'a9c87b29e54311f457d932d8638f030226b059b04a230cb306fe6b1af4eb2950e4520f8aed0c58b49be3740585a58b372ab6ee4f2f63b6d31af378bc8bebb20e'
            '647a4b0a108e9e4cd9dd67799811e29f3c5ab1563cf5238086130d6d109ae1657d226988c604046c39e75de4bb3d98178947c1656ce70d43fa1c6c4dfc5368de')
install=solfege.install

prepare() {
  cd "${pkgname}-${pkgver}"

  local filename
  for filename in "${source[@]}"; do
    if [[ "$filename" =~ \.patch$ ]]; then
      patch -p1 -N -i "$srcdir/${filename##*/}"
    fi
  done

  # removing entries that break makeinfo
  sed -e '38,40d' -i topdocs/AUTHORS.texi
  sed -e '169d' -i topdocs/README.texi

  # fix early access of webbrowser module internal, leading to AttributeError:
  # https://bugs.archlinux.org/task/63703
  sed -e '28i\ \ \ \ webbrowser.register_standard_browsers()' -i "${pkgname}/mainwin.py"
  
  # fix encoding of the Hungarian translation
  iconv -f ISO-8859-2 -t UTF-8 po/hu.po -o po/hu.po.new
  sed -i 's/charset=iso-8859-2/charset=utf-8/' po/hu.po.new
  mv po/hu.po.new po/hu.po

  # setup version file, so we don't have to use bizarre scripts using git
  echo "version_info ={'git_sha': None}" > "${pkgname}/_version.py"
  # replace wrong cflags assumptions
  sed -E 's|(PYTHON_INCLUDES=).+|\1"$(pkg-config --cflags-only-I python3)"|g' \
      -i acinclude.m4
  aclocal $ACINCLUDE
  autoconf
}

build() {
  cd "${pkgname}-${pkgver}"
  ./configure --prefix=/usr \
              --sysconfdir=/etc
  make
  make update-manual
}

package() {
  cd "${pkgname}-${pkgver}"
  make DESTDIR="$pkgdir" install
  # strip $pkgdir from embedded paths:
  python -m compileall -d "/usr/share/${pkgname}/${pkgname}" \
    "${pkgdir}/usr/share/${pkgname}/${pkgname}"
  python -O -m compileall -d "/usr/share/${pkgname}/${pkgname}" \
    "${pkgdir}/usr/share/${pkgname}/${pkgname}"
}
# vim:set ts=2 sw=2 et: