기본 콘텐츠로 건너뛰기

Euphonica (MPD client)

원문 보기:  Music_Player_Daemon/Euphonica Euphonica 은 MPD 에 대한 GTK 프런트-엔드입니다. 그것은 Rust 로 작성되었고, GTK-4와 Libadwaita를 사용함으로써 GNOME 과 통합된 모양을 보여줍니다. Introduction Music Player Daemon 의 클라이언트로서 mpc 는 명령-줄에서 음악 라이브러리를 조작할 수 있습니다. 물론, 이런 조작은 어려운 것이 없기 때문에, 이것으로 충분할지도 모릅니다. 어떤 경우에서 GUI 환경 아래에서 마우스를 조작을 통해 이런 작업을 대신 수행하기를 원할 수도 있습니다. 이런 것들 중에는 ymuse, cantata와 같은 것이 있고, 이것과 마찬가지로 Plattenalbum 은 GTK-4와 Libadwaita를 이용해서 그놈과 통합되어 있지만, 그 기능이 제한적일 수 있습니다. 어쨌든, 새롭게 작성되고 있는 Euphponica는 MPD의 음악 라이브러리를 보다 쉽게 연주 대기열에 넣을 수 있고, 그 크기에 따라 연주기의 모양이 달라지는 등, 만들어진 MPD 클라이언트 중에서 가장 기대가 되는 음악 연주기입니다. Installation 데비안에서 패키지를 제공하지 않고, 개발자는 Flatpak , Meson 을 이용해서 직접 빌드하는 방법을 제공하고 있습니다. 여기서는 가능한 패키지의 크기를 작게 만들기 위해 데비안 패키지를 직접 제작할 것입니다. Dependencies gtk4 >= 4.18 libadwaita >= 1.7 meson >= 1.5 gettext >= 0.23 mpd >= 0.24 sqlite xdg-desktop-portal rustc and cargo >= 1.88.0 데비안에서 Rust 최신 패키지를 제공하지 않기 때문에, 데비안에서 제공하는 rustc 패키지를 제거하고 rustup을 사용해서 별도로 설치해야 합니다. Debian packaging 보통, Meson 을 통한 데비...

Euphonica (MPD client)

원문 보기: Music_Player_Daemon/Euphonica

EuphonicaMPD에 대한 GTK 프런트-엔드입니다. 그것은 Rust로 작성되었고, GTK-4와 Libadwaita를 사용함으로써 GNOME과 통합된 모양을 보여줍니다.

Introduction

Music Player Daemon의 클라이언트로서 mpc는 명령-줄에서 음악 라이브러리를 조작할 수 있습니다. 물론, 이런 조작은 어려운 것이 없기 때문에, 이것으로 충분할지도 모릅니다.

어떤 경우에서 GUI 환경 아래에서 마우스를 조작을 통해 이런 작업을 대신 수행하기를 원할 수도 있습니다.

이런 것들 중에는 ymuse, cantata와 같은 것이 있고, 이것과 마찬가지로 Plattenalbum은 GTK-4와 Libadwaita를 이용해서 그놈과 통합되어 있지만, 그 기능이 제한적일 수 있습니다.

어쨌든, 새롭게 작성되고 있는 Euphponica는 MPD의 음악 라이브러리를 보다 쉽게 연주 대기열에 넣을 수 있고, 그 크기에 따라 연주기의 모양이 달라지는 등, 만들어진 MPD 클라이언트 중에서 가장 기대가 되는 음악 연주기입니다.

Installation

데비안에서 패키지를 제공하지 않고, 개발자는 Flatpak, Meson을 이용해서 직접 빌드하는 방법을 제공하고 있습니다.

여기서는 가능한 패키지의 크기를 작게 만들기 위해 데비안 패키지를 직접 제작할 것입니다.

Dependencies

  • gtk4 >= 4.18
  • libadwaita >= 1.7
  • meson >= 1.5
  • gettext >= 0.23
  • mpd >= 0.24
  • sqlite
  • xdg-desktop-portal
  • rustc and cargo >= 1.88.0

데비안에서 Rust 최신 패키지를 제공하지 않기 때문에, 데비안에서 제공하는 rustc 패키지를 제거하고 rustup을 사용해서 별도로 설치해야 합니다.

Debian packaging

보통, Meson을 통한 데비안 패키징은 Building Debian Packages with Meson으로 가능해 보이지만, 이것은 그런 식으로 제작되지 않습니다.

이제, 더 일반적인 방법으로 다음 2가지를 고려해 볼 수 있습니다:

여기서는 나중에 업그레이드를 고려해서, 두 번째 방법과 업그레이드를 위해 추가 스크립트를 사용해 볼 것입니다.

이제, 아치 리눅스 패키지 정보로부터 불필요한 부분을 지우고, euphonica.install 파일을 만듭니다:

  • git clone --recurse-submodules --depth 1 https://github.com/htkhiem/euphonica
  • cd euphonica
  • vi euphonica.install
#!/bin/bash 

pkgdir=euphonica_0.97.0-1_amd64

prepare() {
	meson setup build --buildtype=release --prefix=/usr
}

build() {
	meson compile -C build
}

package() {
	meson install -C build --destdir "./$pkgdir"
}

prepare
build
package

다음으로 업그레이드 스크립트를 만듭니다. 이렇게 하는 이유는 불필요한 파일을 다운로드하지 않고, 필요에 따라 패키지를 만들기 위함입니다.

  • vi euphonica.upgrade
#!/bin/bash

aa=$1
bb=$2

echo $aa
echo $bb

if [[ "$aa" != "$bb" ]]; then
  find . -type f -name 'euphonica.install' -exec sed -i -e "s/$aa/$bb/g" {} \;
fi 

bash euphonica.install

if [ ! -d "build/euphonica_"$aa"-1_amd64/DEBIAN" ]; then
  mkdir -p build/euphonica_"$aa"-1_amd64/DEBIAN
  cp control build/euphonica_"$aa"-1_amd64/DEBIAN
fi

if [[ "$aa" != "$bb" ]]; then
  mkdir -p build/euphonica_"$bb"-1_amd64/DEBIAN
  cp build/euphonica_"$aa"-1_amd64/DEBIAN/control build/euphonica_"$bb"-1_amd64/DEBIAN/control
  cd build/euphonica_"$bb"-1_amd64/DEBIAN
  find . -type f -name control -exec sed -i -e "s/$aa/$bb/g" {} \;
  cd -
fi 

dpkg-deb --build --root-owner-group build/euphonica_"$bb"-1_amd64
sudo dpkg -i build/euphonica_"$bb"-1_amd64.deb

두 스크립트를 하나로 합칠 수도 있지만, 컴파일 스크립트는 주로 아치 PKGBUILD 파일로부터 만들고, 업그레이드 스크립트는 필요에 따라 파일 내부에서 패키지 이름과 버전 정보 정도를 바꿈으로서 재사용할 수 있기 때문에, 분리해 두는 것이 좋겠습니다.

마지막으로 최소한의 control 파일을 만듭니다:

  • vi control
Package: euphonica
Version: 0.97.0-1
Architecture: amd64
Maintainer: user_id <email_id@email.com>
Description: Libadwaita MPD client with visualiser, wikis and synced lyrics

위에서 user_id, email_id@email.com은 자신의 것으로 바꾸십시오 (실제 정보가 아니더라도 상관 없습니다).

이제 스크립트를 수행해서 패키지를 만들고 설치합니다:

  • bash euphonica.upgrade 0.97.0 0.97.0

이 디렉토리는 지우지 말고 남겨 두었다가, 적당한 시기 (프로그램 업데이트)에 아래와 같이 업데이트된 소스를 가져오고, 버전 정보 (예를 들어, 0.97.1)를 수정해서 새로운 패키지를 만들 수 있습니다:

  • git pull
  • bash euphonica.upgrade 0.97.0 0.97.1

 

댓글