| @@ -1,131 +1,137 @@ | | | @@ -1,131 +1,137 @@ |
1 | # $NetBSD: Makefile,v 1.230 2020/12/04 04:55:42 riastradh Exp $ | | 1 | # $NetBSD: Makefile,v 1.230.2.1 2021/01/10 19:25:18 bsiegert Exp $ |
2 | | | 2 | |
3 | DISTNAME= mpd-0.22.3 | | 3 | DISTNAME= mpd-0.22.3 |
4 | PKGNAME= ${DISTNAME:S/mpd/musicpd/} | | 4 | PKGNAME= ${DISTNAME:S/mpd/musicpd/} |
5 | PKGREVISION= 1 | | 5 | PKGREVISION= 1 |
6 | CATEGORIES= audio | | 6 | CATEGORIES= audio |
7 | MASTER_SITES= https://www.musicpd.org/download/mpd/0.22/ | | 7 | MASTER_SITES= https://www.musicpd.org/download/mpd/0.22/ |
8 | EXTRACT_SUFX= .tar.xz | | 8 | EXTRACT_SUFX= .tar.xz |
9 | | | 9 | |
10 | MAINTAINER= pkgsrc-users@NetBSD.org | | 10 | MAINTAINER= pkgsrc-users@NetBSD.org |
11 | HOMEPAGE= https://www.musicpd.org/ | | 11 | HOMEPAGE= https://www.musicpd.org/ |
12 | COMMENT= Remote controllable audio player | | 12 | COMMENT= Remote controllable audio player |
13 | LICENSE= gnu-gpl-v2 | | 13 | LICENSE= gnu-gpl-v2 |
14 | | | 14 | |
15 | CONFLICTS= mpd-[0-9]* | | 15 | CONFLICTS= mpd-[0-9]* |
16 | | | 16 | |
17 | USE_TOOLS+= pkg-config | | 17 | USE_TOOLS+= pkg-config |
18 | USE_LANGUAGES= c c++ | | 18 | USE_LANGUAGES= c c++ |
19 | | | 19 | |
20 | # c++17 | | 20 | # The upstream changelog recommends gcc8, but it compiles fine with 7.5.0 |
21 | GCC_REQD+= 8 | | 21 | # (NetBSD 9.1) using -std=c++17. |
| | | 22 | # |
| | | 23 | # Please be cautious of raising this requirement - mpd seems to adopt new C++ |
| | | 24 | # standards quickly. Notably, gcc8 from pkgsrc doesn't have support for |
| | | 25 | # NetBSD/earmv7hf. gcc10 should, but fails for other reasons (TODO: |
| | | 26 | # investigate). |
| | | 27 | GCC_REQD+= 7 |
22 | | | 28 | |
23 | MESON_ARGS+= -Ddocumentation=enabled | | 29 | MESON_ARGS+= -Ddocumentation=enabled |
24 | | | 30 | |
25 | # worrying libraries with limited maintainance: | | 31 | # worrying libraries with limited maintainance: |
26 | # - audiofile, many CVEs, no activity since 2016 | | 32 | # - audiofile, many CVEs, no activity since 2016 |
27 | # using sndfile instead | | 33 | # using sndfile instead |
28 | # - mad, no release since 2004 | | 34 | # - mad, no release since 2004 |
29 | # using mpg123 instead | | 35 | # using mpg123 instead |
30 | MESON_ARGS+= -Dmad=disabled | | 36 | MESON_ARGS+= -Dmad=disabled |
31 | MESON_ARGS+= -Daudiofile=disabled | | 37 | MESON_ARGS+= -Daudiofile=disabled |
32 | | | 38 | |
33 | # not available in pkgsrc? | | 39 | # not available in pkgsrc? |
34 | MESON_ARGS+= -Dnfs=disabled | | 40 | MESON_ARGS+= -Dnfs=disabled |
35 | MESON_ARGS+= -Diso9660=disabled | | 41 | MESON_ARGS+= -Diso9660=disabled |
36 | MESON_ARGS+= -Dsndio=disabled | | 42 | MESON_ARGS+= -Dsndio=disabled |
37 | | | 43 | |
38 | .include "../../mk/bsd.prefs.mk" | | 44 | .include "../../mk/bsd.prefs.mk" |
39 | | | 45 | |
40 | .if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS" | | 46 | .if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS" |
41 | MESON_ARGS+= -Dsolaris_output=enabled | | 47 | MESON_ARGS+= -Dsolaris_output=enabled |
42 | .endif | | 48 | .endif |
43 | | | 49 | |
44 | MPD_USER?= mpd | | 50 | MPD_USER?= mpd |
45 | MPD_GROUP?= mpd | | 51 | MPD_GROUP?= mpd |
46 | PKG_GROUPS= ${MPD_GROUP} | | 52 | PKG_GROUPS= ${MPD_GROUP} |
47 | PKG_USERS= ${MPD_USER}:${MPD_GROUP} | | 53 | PKG_USERS= ${MPD_USER}:${MPD_GROUP} |
48 | PKG_GROUPS_VARS= MPD_USER | | 54 | PKG_GROUPS_VARS= MPD_USER |
49 | PKG_USERS_VARS= MPD_GROUP | | 55 | PKG_USERS_VARS= MPD_GROUP |
50 | | | 56 | |
51 | .include "../../mk/oss.buildlink3.mk" | | 57 | .include "../../mk/oss.buildlink3.mk" |
52 | | | 58 | |
53 | .if ${OSS_TYPE} == "none" | | 59 | .if ${OSS_TYPE} == "none" |
54 | MESON_ARGS+= -Doss=disabled | | 60 | MESON_ARGS+= -Doss=disabled |
55 | .else | | 61 | .else |
56 | MESON_ARGS+= -Doss=enabled | | 62 | MESON_ARGS+= -Doss=enabled |
57 | LDFLAGS+= ${LIBOSSAUDIO} | | 63 | LDFLAGS+= ${LIBOSSAUDIO} |
58 | SUBST_CLASSES+= oss | | 64 | SUBST_CLASSES+= oss |
59 | SUBST_STAGE.oss= pre-configure | | 65 | SUBST_STAGE.oss= pre-configure |
60 | SUBST_MESSAGE.oss= Correcting the path to the OSS device. | | 66 | SUBST_MESSAGE.oss= Correcting the path to the OSS device. |
61 | SUBST_FILES.oss+= src/output/plugins/OssOutputPlugin.cxx | | 67 | SUBST_FILES.oss+= src/output/plugins/OssOutputPlugin.cxx |
62 | SUBST_SED.oss+= -e "s,/dev/sound/dsp,${DEVOSSAUDIO},g" | | 68 | SUBST_SED.oss+= -e "s,/dev/sound/dsp,${DEVOSSAUDIO},g" |
63 | .endif | | 69 | .endif |
64 | | | 70 | |
65 | EGDIR= ${PREFIX}/share/examples/mpd | | 71 | EGDIR= ${PREFIX}/share/examples/mpd |
66 | CONF_FILES= ${EGDIR}/mpd.conf ${PKG_SYSCONFDIR}/mpd.conf | | 72 | CONF_FILES= ${EGDIR}/mpd.conf ${PKG_SYSCONFDIR}/mpd.conf |
67 | RCD_SCRIPTS= mpd | | 73 | RCD_SCRIPTS= mpd |
68 | | | 74 | |
69 | FILES_SUBST+= MPD_USER=${MPD_USER:Q} | | 75 | FILES_SUBST+= MPD_USER=${MPD_USER:Q} |
70 | FILES_SUBST+= MPD_GROUP=${MPD_GROUP:Q} | | 76 | FILES_SUBST+= MPD_GROUP=${MPD_GROUP:Q} |
71 | FILES_SUBST+= VARBASE=${VARBASE} | | 77 | FILES_SUBST+= VARBASE=${VARBASE} |
72 | | | 78 | |
73 | BUILD_DEFS+= VARBASE | | 79 | BUILD_DEFS+= VARBASE |
74 | | | 80 | |
75 | OWN_DIRS_PERMS+= ${VARBASE}/lib/mpd \ | | 81 | OWN_DIRS_PERMS+= ${VARBASE}/lib/mpd \ |
76 | ${MPD_USER} ${MPD_GROUP} 0755 | | 82 | ${MPD_USER} ${MPD_GROUP} 0755 |
77 | | | 83 | |
78 | OWN_DIRS_PERMS+= ${VARBASE}/lib/mpd/music \ | | 84 | OWN_DIRS_PERMS+= ${VARBASE}/lib/mpd/music \ |
79 | ${MPD_USER} ${MPD_GROUP} 0755 | | 85 | ${MPD_USER} ${MPD_GROUP} 0755 |
80 | | | 86 | |
81 | OWN_DIRS_PERMS+= ${VARBASE}/lib/mpd/playlists \ | | 87 | OWN_DIRS_PERMS+= ${VARBASE}/lib/mpd/playlists \ |
82 | ${MPD_USER} ${MPD_GROUP} 0755 | | 88 | ${MPD_USER} ${MPD_GROUP} 0755 |
83 | | | 89 | |
84 | CPPFLAGS.SunOS+= -std=gnu99 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ | | 90 | CPPFLAGS.SunOS+= -std=gnu99 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ |
85 | | | 91 | |
86 | .include "options.mk" | | 92 | .include "options.mk" |
87 | | | 93 | |
88 | SUBST_CLASSES+= conf | | 94 | SUBST_CLASSES+= conf |
89 | SUBST_STAGE.conf= pre-configure | | 95 | SUBST_STAGE.conf= pre-configure |
90 | SUBST_FILES.conf= mpd.conf | | 96 | SUBST_FILES.conf= mpd.conf |
91 | SUBST_MESSAGE.conf= Setting variables in the configuration file. | | 97 | SUBST_MESSAGE.conf= Setting variables in the configuration file. |
92 | SUBST_VARS.conf+= VARBASE | | 98 | SUBST_VARS.conf+= VARBASE |
93 | SUBST_VARS.conf+= MPD_USER | | 99 | SUBST_VARS.conf+= MPD_USER |
94 | | | 100 | |
95 | SUBST_CLASSES+= sphinx | | 101 | SUBST_CLASSES+= sphinx |
96 | SUBST_STAGE.sphinx= pre-configure | | 102 | SUBST_STAGE.sphinx= pre-configure |
97 | SUBST_FILES.sphinx= doc/meson.build | | 103 | SUBST_FILES.sphinx= doc/meson.build |
98 | SUBST_MESSAGE.sphinx= Fixing sphinx binary name. | | 104 | SUBST_MESSAGE.sphinx= Fixing sphinx binary name. |
99 | SUBST_SED.sphinx+= -e "s,sphinx-build,sphinx-build-${PYVERSSUFFIX}," | | 105 | SUBST_SED.sphinx+= -e "s,sphinx-build,sphinx-build-${PYVERSSUFFIX}," |
100 | | | 106 | |
101 | INSTALLATION_DIRS= ${EGDIR} | | 107 | INSTALLATION_DIRS= ${EGDIR} |
102 | | | 108 | |
103 | PYTHON_FOR_BUILD_ONLY= tool | | 109 | PYTHON_FOR_BUILD_ONLY= tool |
104 | | | 110 | |
105 | PYTHON_VERSIONED_DEPENDENCIES= sphinx:tool | | 111 | PYTHON_VERSIONED_DEPENDENCIES= sphinx:tool |
106 | | | 112 | |
107 | post-extract: | | 113 | post-extract: |
108 | ${CP} ${FILESDIR}/mpd.conf ${WRKSRC}/mpd.conf | | 114 | ${CP} ${FILESDIR}/mpd.conf ${WRKSRC}/mpd.conf |
109 | | | 115 | |
110 | post-install: | | 116 | post-install: |
111 | ${INSTALL_DATA} ${WRKSRC}/mpd.conf ${DESTDIR}${EGDIR} | | 117 | ${INSTALL_DATA} ${WRKSRC}/mpd.conf ${DESTDIR}${EGDIR} |
112 | ${INSTALL_DATA} ${WRKSRC}/doc/mpdconf.example ${DESTDIR}${EGDIR} | | 118 | ${INSTALL_DATA} ${WRKSRC}/doc/mpdconf.example ${DESTDIR}${EGDIR} |
113 | | | 119 | |
114 | .include "../../devel/meson/build.mk" | | 120 | .include "../../devel/meson/build.mk" |
115 | BUILDLINK_API_DEPENDS.flac+= flac>=1.2 | | 121 | BUILDLINK_API_DEPENDS.flac+= flac>=1.2 |
116 | .include "../../audio/flac/buildlink3.mk" | | 122 | .include "../../audio/flac/buildlink3.mk" |
117 | .include "../../audio/libid3tag/buildlink3.mk" | | 123 | .include "../../audio/libid3tag/buildlink3.mk" |
118 | .include "../../audio/libopus/buildlink3.mk" | | 124 | .include "../../audio/libopus/buildlink3.mk" |
119 | .include "../../audio/libsndfile/buildlink3.mk" | | 125 | .include "../../audio/libsndfile/buildlink3.mk" |
120 | .include "../../audio/mpg123/buildlink3.mk" | | 126 | .include "../../audio/mpg123/buildlink3.mk" |
121 | .include "../../databases/sqlite3/buildlink3.mk" | | 127 | .include "../../databases/sqlite3/buildlink3.mk" |
122 | .include "../../devel/boost-libs/buildlink3.mk" | | 128 | .include "../../devel/boost-libs/buildlink3.mk" |
123 | .include "../../devel/pcre/buildlink3.mk" | | 129 | .include "../../devel/pcre/buildlink3.mk" |
124 | .include "../../devel/zlib/buildlink3.mk" | | 130 | .include "../../devel/zlib/buildlink3.mk" |
125 | .include "../../graphics/hicolor-icon-theme/buildlink3.mk" | | 131 | .include "../../graphics/hicolor-icon-theme/buildlink3.mk" |
126 | .include "../../lang/python/versioned_dependencies.mk" | | 132 | .include "../../lang/python/versioned_dependencies.mk" |
127 | .include "../../security/libgcrypt/buildlink3.mk" | | 133 | .include "../../security/libgcrypt/buildlink3.mk" |
128 | .include "../../textproc/expat/buildlink3.mk" | | 134 | .include "../../textproc/expat/buildlink3.mk" |
129 | .include "../../textproc/icu/buildlink3.mk" | | 135 | .include "../../textproc/icu/buildlink3.mk" |
130 | .include "../../mk/pthread.buildlink3.mk" | | 136 | .include "../../mk/pthread.buildlink3.mk" |
131 | .include "../../mk/bsd.pkg.mk" | | 137 | .include "../../mk/bsd.pkg.mk" |