[package]
name = "mpdpopm"
version = "0.3.6"
authors = ["Michael Herstine <sp1ff@pobox.com>"]
edition = "2024"
license-file = "../LICENSE"
description = "Maintain ratings & playcounts for your mpd server"
homepage = "https://github.com/sp1ff/mpdpopm"
repository = "https://github.com/sp1ff/mpdpopm"
readme = "README.md"
keywords = ["mpd", "music", "daemon"]
categories = ["multimedia", "network-programming", "database"]
exclude = ["Cargo.toml.in", "Cargo.toml.orig", "Makefile", "Makefile.in", "Makefile.am", "rusty-tags.emacs", "src/vars.rs.am.in", "src/vars.rs.am", "flapdoodle.rs", "*.log"]

[build-dependencies]
lalrpop = { version = "0.20", features = ["lexer"] }

[dependencies]
async-trait = "0.1"
boolinator = "2.4"
chrono = "0.4"
clap = "~4.4" # Pin to preserve the ability to build with rust 1.65
errno = "0.2"
futures = "0.3"
lalrpop-util = { version = "0.20", features = ["lexer"] }
lazy_static = "1.4"
libc = "0.2"
os_str_bytes = "2.3"
pin-project = "1.0"
regex = "1.3"
serde = { version = "1.0", features = ["derive"] }
serde-lexpr = "0.1.1"
snafu = { version = "0.8.6", features = ["backtrace"] }
tap = "1.0.1"
toml = "0.8"
tokio = { version = "1.35", features = ["io-util", "macros", "net", "process", "rt-multi-thread", "signal", "sync", "time"] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"]}

[package.metadata.deb]
maintainer = "Michael Herstine <sp1ff@pobox.com>"
copyright = "Copyright (C) 2020-2026 Michael Herstine <sp1ff@pobox.com>"
extended-description = """
mpdpopm provides a companion daemon to mpd <https://www.musicpd.org>/ \
for maintaining play counts, ratings and last-played timestamps, \
along with an associated CLI for talking to the daemon. Similar to \
mpdfav <https://github.com/vincent-petithory/mpdfav>, but written in \
Rust (which I prefer to Go), it will maintain this information in \
your sticker database. Along the lines of mpdcron \
<https://alip.github.io/mpdcron>, it will also allow you to keep that \
information up-to-date in your tags by invoking external \
(user-provided & -configured) commands."""
section = "Sound"
priority = "optional"
# If I use "$auto", cargo-deb will choose a fairly recent version of
# libc6 (2.31); I've verified on the debian:slim-latest Docker package
# that it only needs 2.28-10 (and possibly much older). I'm going to
# roll the dice & just specify no version.
depends = "libc6"
maintainer-scripts = "../admin/deb-maintainer-scripts"
assets = [
       ["target/release/mppopm", "usr/local/bin/", "755"],
       ["target/release/mppopmd", "usr/local/bin/", "755"],
       ["README.md", "usr/local/share/doc/mpdpopm/README", "644"],
       ["mppopmd.conf", "usr/local/share/doc/mpdpopm/examples/mppopmd.conf", "644"],
       ["mppopmd.service", "usr/local/lib/systemd/user/mppopmd.service", "644"],
       ["mppopmd.service", "usr/local/lib/systemd/system/mppopmd.service", "644"],
       ["../doc/mpdpopm.info", "usr/local/share/info/", "644"],
]
