Changes of Revision 4

kid3.spec Added
x
 
1
@@ -0,0 +1,273 @@
2
+#
3
+# spec file for package kid3
4
+#
5
+# Copyright (c) 2025 SUSE LLC
6
+#
7
+# All modifications and additions to the file contributed by third parties
8
+# remain the property of their copyright owners, unless otherwise agreed
9
+# upon. The license for this file, and modifications and additions to the
10
+# file, is the same license as for the pristine package itself (unless the
11
+# license for the pristine package is not an Open Source License, in which
12
+# case the license is the MIT License). An "Open Source License" is a
13
+# license that conforms to the Open Source Definition (Version 1.9)
14
+# published by the Open Source Initiative.
15
+
16
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
17
+#
18
+
19
+
20
+# Internal QML imports
21
+%global __requires_exclude qmlimport\\(Kid3.*
22
+%if 0%{?suse_version} > 1500
23
+%define qt_version 6
24
+%else
25
+%define qt_version 5
26
+%endif
27
+
28
+Name:           kid3
29
+Version:        3.9.6
30
+Release:        0
31
+Summary:        Efficient ID3 Tag Editor
32
+License:        GPL-2.0-or-later
33
+Group:          Productivity/Multimedia/Sound/Utilities
34
+URL:            https://kid3.kde.org/
35
+Source0:        https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz
36
+Source1:        https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz.sig
37
+BuildRequires:  extra-cmake-modules
38
+BuildRequires:  hicolor-icon-theme
39
+BuildRequires:  id3lib-devel
40
+BuildRequires:  kf%{qt_version}-filesystem
41
+BuildRequires:  libxslt-tools
42
+BuildRequires:  python3 >= 3.6
43
+BuildRequires:  readline-devel
44
+BuildRequires:  update-desktop-files
45
+BuildRequires:  cmake(KF%{qt_version}DocTools)
46
+BuildRequires:  cmake(KF%{qt_version}KIO)
47
+BuildRequires:  cmake(Qt%{qt_version}Core)
48
+BuildRequires:  cmake(Qt%{qt_version}DBus)
49
+BuildRequires:  cmake(Qt%{qt_version}Gui)
50
+BuildRequires:  cmake(Qt%{qt_version}LinguistTools)
51
+BuildRequires:  cmake(Qt%{qt_version}Multimedia)
52
+BuildRequires:  cmake(Qt%{qt_version}Network)
53
+BuildRequires:  cmake(Qt%{qt_version}Qml)
54
+BuildRequires:  cmake(Qt%{qt_version}Quick)
55
+BuildRequires:  cmake(Qt%{qt_version}Test)
56
+BuildRequires:  cmake(Qt%{qt_version}UiTools)
57
+BuildRequires:  cmake(Qt%{qt_version}Widgets)
58
+BuildRequires:  cmake(Qt%{qt_version}Xml)
59
+BuildRequires:  config(docbook-xsl-stylesheets)
60
+BuildRequires:  pkgconfig(flac)
61
+BuildRequires:  pkgconfig(gstreamer-1.0)
62
+BuildRequires:  pkgconfig(libavcodec) >= 61
63
+BuildRequires:  pkgconfig(libavformat)
64
+BuildRequires:  pkgconfig(libavutil)
65
+BuildRequires:  pkgconfig(libchromaprint)
66
+BuildRequires:  pkgconfig(libswresample)
67
+BuildRequires:  pkgconfig(ogg)
68
+BuildRequires:  pkgconfig(taglib) >= 1.4
69
+BuildRequires:  pkgconfig(vorbis)
70
+Requires:       %{name}-core = %{version}
71
+Requires:       libxslt-tools
72
+Requires:       xdg-utils
73
+# kid3 and kid3-qt can exist together on a system but the user will have two packages with the same functionality.
74
+Conflicts:      kid3-qt = %{version}
75
+
76
+%description
77
+f you want to easily tag multiple MP3, Ogg/Vorbis, Opus, DSF, FLAC,
78
+MPC, MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack and WMA files
79
+(e.g. full albums) without typing the same information again and
80
+again and have control over both ID3v1 and ID3v2 tags,
81
+then Kid3 is the program you are looking for.
82
+
83
+With Kid3 you can:
84
+- Edit ID3v1.1 tags
85
+- Edit all ID3v2.3 and ID3v2.4 frames
86
+- Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags
87
+- Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Speex,
88
+  TrueAudio, WavPack, WMA, AIFF and WAV files
89
+- Edit tags of multiple files, e.g. the artist, album, year and
90
+  genre of all files of an album typically have the same values
91
+  and can be set together.
92
+- Generate tags from filenames
93
+- Generate tags from the contents of tag fields
94
+- Generate filenames from tags
95
+- Rename and create directories from tags
96
+- Generate playlist files
97
+- Automatically convert upper and lower case and replace strings
98
+- Import from freedb2.org, MusicBrainz, Discogs, Amazon and other
99
+  sources of album data
100
+- Export tags as CSV, HTML, playlists, Kover XML and in other formats
101
+- Edit synchronized lyrics and event timing codes,import and export LRC files
102
+
103
+This package uses KDE libraries, if you do not use KDE you should use kid3-qt.
104
+For a commandline interface you can use kid3-cli.
105
+
106
+%package qt
107
+Summary:        Efficient ID3 Tag Editor
108
+Group:          Productivity/Multimedia/Sound/Utilities
109
+Requires:       %{name}-core = %{version}
110
+Requires:       xdg-utils
111
+# kid3 and kid3-qt can exist together on a system but the user will have two packages with the same functionality.
112
+Conflicts:      kid3 = %{version}
113
+Obsoletes:      kid3-qt < %{version}
114
+
115
+%description qt
116
+With Kid3 you can:
117
+  - Edit ID3v1.1 tags
118
+  - Edit all ID3v2.3 and ID3v2.4 frames
119
+  - Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags
120
+  - Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, APE, MP4/AAC, MP2, Speex,
121
+    TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules (MOD,
122
+    S3M, IT, XM).
123
+  - Edit tags of multiple files, e.g. the artist, album, year and genre
124
+    of all files of an album typically have the same values and can be
125
+    set together.
126
+  - Generate tags from filenames
127
+  - Generate tags from the contents of tag fields
128
+  - Generate filenames from tags
129
+  - Generate playlist files
130
+  - Automatic case conversion and string translation
131
+  - Import and export album data
132
+  - Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon
133
+
134
+This package does not use KDE libraries, if you use KDE you should use kid3.
135
+For a commandline interface you can use kid3-cli.
136
+
137
+%package cli
138
+Summary:        Efficient ID3 Tag Editor
139
+Group:          Productivity/Multimedia/Sound/Utilities
140
+Requires:       %{name}-core = %{version}
141
+
142
+%description cli
143
+With Kid3 you can:
144
+  - Edit ID3v1.1 tags
145
+  - Edit all ID3v2.3 and ID3v2.4 frames
146
+  - Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags
147
+  - Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, APE, MP4/AAC, MP2, Speex,
148
+    TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules (MOD,
149
+    S3M, IT, XM).
150
+  - Edit tags of multiple files, e.g. the artist, album, year and genre
151
+    of all files of an album typically have the same values and can be
152
+    set together.
153
+  - Generate tags from filenames
154
+  - Generate tags from the contents of tag fields
155
+  - Generate filenames from tags
156
+  - Generate playlist files
157
+  - Automatic case conversion and string translation
158
+  - Import and export album data
159
+  - Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon
160
+
161
+This package contains a command line interface for Kid3, for a GUI you can
162
+use kid3-qt or kid3.
163
+
164
+%package doc
165
+Summary:        Documentation for %{name}
166
+Group:          Productivity/Multimedia/Sound/Utilities
167
+Requires:       %{name} = %{version}
168
+
169
+%description doc
170
+This package provides documentation and help files for %{name}.
171
+
172
+%package qt-doc
173
+Summary:        Documentation for %{name}-qt
174
+Group:          Productivity/Multimedia/Sound/Utilities
175
+Requires:       %{name}-qt = %{version}
176
+
177
+%description qt-doc
178
+This package provides documentation and help files for %{name}-qt.
179
+
180
+%package  core
181
+Summary:        Efficient ID3 Tag Editor: Libraries and Data
182
+Group:          Productivity/Multimedia/Sound/Utilities
183
+Recommends:     kid3-trans-lang = %{version}
184
+
185
+%description  core
186
+This package contains common libraries and data files used by kid3, kid3-qt, and kid3-cli.
187
+
188
+%lang_package -n %{name}-core
189
+
190
+%prep
191
+%autosetup -p1
192
+
193
+%build
194
+export LC_ALL=en_US.UTF-8
195
+options+="-DWITH_LIBDIR=%{_lib}/kid3 -DWITH_PLUGINSDIR=%{_lib}/kid3/plugins "
196
+options+="-DWITH_CHROMAPRINT_FFMPEG=ON -DWITH_FFMPEG=ON -DWITH_GSTREAMER=ON "
197
+options+="-DWITH_DOCDIR=share/doc/packages/kid3-qt "
198
+options+="-DCMAKE_SKIP_RPATH=ON -DWITH_QMLDIR=%{_lib}/qt%{qt_version}/qml/kid3 "
199
+%if %{qt_version} == 6
200
+%{cmake_kf6} -DBUILD_WITH_QT6=ON $options
201
+%{kf6_build}
202
+%else
203
+%cmake_kf5 -d build -- $options
204
+%make_jobs
205
+%endif
206
+
207
+%install
208
+%if %{qt_version} == 6
209
+%{kf6_install}
210
+%else
211
+%kf5_makeinstall -C build
212
+%endif
213
+
214
+pushd %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
215
+gzip -dS .svgz kid3.svgz
216
+mv kid3 kid3.svg
217
+popd
218
+
219
+chmod 644 %{buildroot}%{_kf5_applicationsdir}/org.kde.kid3.desktop
220
+
221
+%find_lang %{name} %{name}-core.lang --without-kde --with-qt --all-name --without-mo
222
+
223
+mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
224
+cat <<EOF >%{buildroot}%{_sysconfdir}/ld.so.conf.d/kid3.conf
225
+%{_libdir}/kid3
226
+EOF
227
+
228
+%post core -p /sbin/ldconfig
229
+
230
+%postun core -p /sbin/ldconfig
231
+
232
+%files
233
+%dir %{_datadir}/metainfo
234
+%{expand:%{_kf%{qt_version}_bindir}}/kid3
235
+%{expand:%{_kf%{qt_version}_iconsdir}}/hicolor/*/apps/kid3.*
236
+%{expand:%{_kf%{qt_version}_kxmlguidir}}/kid3/
237
+%{expand:%{_kf%{qt_version}_applicationsdir}}/org.kde.kid3.desktop
238
+%{expand:%{_kf%{qt_version}_appstreamdir}}/org.kde.kid3.appdata.xml
239
+
240
+%files qt
241
+%dir %{_datadir}/metainfo
242
+%{_datadir}/applications/org.kde.kid3-qt.desktop
243
+%{_datadir}/metainfo/org.kde.kid3-qt.appdata.xml
244
+%{_bindir}/kid3-qt
245
+%{_datadir}/icons/hicolor/*/apps/kid3-qt.*
246
+%{_mandir}/man1/kid3-qt.1%{ext_man}
247
+%{_mandir}/*/man1/kid3-qt.1%{ext_man}
248
+
249
+%files cli
250
+%{_bindir}/kid3-cli
251
+%{_mandir}/man1/kid3-cli.1%{ext_man}
252
+%{_mandir}/*/man1/kid3-cli.1%{ext_man}
253
+
254
+%files core
255
+%doc AUTHORS ChangeLog README
256
+%license COPYING LICENSE
257
+%{_libdir}/kid3/
258
+%{_libdir}/qt%{qt_version}/qml/kid3/
259
+%config %{_sysconfdir}/ld.so.conf.d/kid3.conf
260
+%{_datadir}/dbus-1/interfaces/org.kde.Kid3.xml
261
+%{_mandir}/man1/kid3.1%{ext_man}
262
+%{_mandir}/*/man1/kid3.1%{ext_man}
263
+
264
+%files doc
265
+%doc %{expand:%{_kf%{qt_version}_htmldir}}/*/kid3/
266
+
267
+%files qt-doc
268
+%{_docdir}/kid3-qt/
269
+
270
+%files -n %{name}-core-lang -f %{name}-core.lang
271
+%dir %{_datadir}/kid3
272
+%dir %{_datadir}/kid3/translations
273
+
274
+%changelog
275