summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 09c8a5f8b8206297dabaa45665df7992fbd2e47d (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
# Maintainer: robertfoster

pkgname=recordbox
pkgver=0.11.0 # renovate: datasource=git-tags depName=https://codeberg.org/edestcroix/Recordbox
pkgrel=3
pkgdesc='A music player and library browser designed primarily to be as simple as possible, and tailored specifically to browsing and playing albums, rather than tracks or playlists.'
arch=(x86_64)
url="https://codeberg.org/edestcroix/Recordbox"
license=(GPL-3.0-only)
options=(!debug)
depends=(
  dconf
  gcc-libs
  gdk-pixbuf2
  glib2
  glibc
  graphene
  gst-plugins-bad-libs
  gst-plugins-base
  gst-plugins-base-libs
  gst-plugins-good
  gstreamer
  gtk4
  hicolor-icon-theme
  libadwaita
  pango
)
makedepends=(
  appstream
  blueprint-compiler
  git
  meson
  rust
)
optdepends=(
  'gst-libav: Extra media codecs'
  'gst-plugins-bad: Extra media codecs'
  'gst-plugins-ugly: Extra media codecs'
)
source=("${pkgname}-${pkgver}::https://codeberg.org/edestcroix/Recordbox/archive/v${pkgver}.tar.gz")

prepare() {
  cd "${pkgname}"

  # Fix E0446: private type in public interface
  sed -i 's/^enum LyricsSaveDestination/pub enum LyricsSaveDestination/' src/lyrics/edit_dialog.rs

  CARGO_HOME="$srcdir/build/cargo-home" \
    cargo fetch --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
  arch-meson "${pkgname}" build

  RUSTFLAGS="$RUSTFLAGS --remap-path-prefix=$srcdir=src" \
    CARGO_PROFILE_RELEASE_LTO=true \
    CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 \
    CARGO_PROFILE_RELEASE_DEBUG=2 \
    CARGO_PROFILE_RELEASE_STRIP=false \
    meson compile -C build
}

package() {
  meson install -C build --destdir "${pkgdir}" --no-rebuild
}

sha256sums=('9b9eb4e347c086c254910982cd6b12e4016f9e748f32d865013cede86aed8a4d')