Package Details: mpg321 0.3.2-3

Git Clone URL: https://aur.archlinux.org/mpg321.git (read-only, click to copy)
Package Base: mpg321
Description: A completely free drop-in replacement for mpg123
Upstream URL: https://sourceforge.net/projects/mpg321/
Licenses: GPL
Conflicts: mpg123
Provides: mpg123
Submitter: kett
Maintainer: Chocobo1
Last Packager: Chocobo1
Votes: 48
Popularity: 0.000000
First Submitted: 2008-08-27 05:00 (UTC)
Last Updated: 2024-09-10 15:21 (UTC)

Required by (192)

Sources (1)

Latest Comments

vitaliikuzhdin commented on 2024-09-21 14:28 (UTC) (edited on 2024-09-21 14:29 (UTC) by vitaliikuzhdin)

I'm not sure I understand you correctly. You do have to maintain patches in an active codebase, but you don't need to in a stale one, as no changes are happening that would require adjustments. This is, of course, with the exception of changes to the local default build flags, which is why the build was failing for me recently — modern Arch Linux build flags do not permit implicit variable size declaration for an int, common variables across multiple files, or unformatted *printf, among others.

I know of two ways to fix these issues: either apply patches to the codebase (like I did) or remove the flags from the build environment (which you did). I’m not sure which approach is better, but they both work — you aren’t required to make any changes to that until the default build flags change in the future, at which point all other package maintainers will need to adjust to the new rules as well.

These are the only local patches required from a you as a maintainer, and unfortunately, there’s no escaping that. My PKGBUILD, however, also pulls a few patches from Debian sources and SourceForge tickets. While these fix runtime bugs, they're not essential for the build, and you wouldn’t need to "maintain" them either, even if changes were required — the codebase won’t change any time soon. These are the only additions I’m asking you to make.

Additionally, I'd be happy to become a co-maintainer to assist with any future adjustments, if needed.

Chocobo1 commented on 2024-09-21 14:02 (UTC)

Since you've already found a workaround for some warnings treated as an errors, my patches might not be essential, but the others address a few annoying bugs. Thanks!

I'm hesitant to maintain local patches. Since the upstream is inactive, maintaining that many patches is not so different from running a forked project. And it is especially bad to do so at a distro-specific repo instead of a proper hosted repository. I would encourage you to fork the original project and take the project maintainer position. Maybe other users would want to contribute more patches to help the project.

vitaliikuzhdin commented on 2024-09-20 23:20 (UTC) (edited on 2024-09-20 23:20 (UTC) by vitaliikuzhdin)

Could you please update the package once more to something like this:

https://gist.github.com/vitaliikuzhdin/7b2000d4fe026b66f59afae3ec99e117

Since you've already found a workaround for some warnings treated as an errors, my patches might not be essential, but the others address a few annoying bugs. Thanks!

vitaliikuzhdin commented on 2024-09-10 14:55 (UTC)

make  all-recursive
make[1]: Entering directory '/home/vitalii/.cache/yay/mpg321/src/mpg321-0.3.2-orig'
make[2]: Entering directory '/home/vitalii/.cache/yay/mpg321/src/mpg321-0.3.2-orig'
gcc -DHAVE_CONFIG_H -I.     -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fcommon -Wno-error=format-security -I/usr/include -DHAVE_ALSA -MT mpg321.o -MD -MP -MF .deps/mpg321.Tpo -c -o mpg321.o mpg321.c
mpg321.c:102:8: error: type defaults to ‘int’ in declaration of ‘http_file_length’ [-Wimplicit-int]
  102 | extern http_file_length;
      |        ^~~~~~~~~~~~~~~~
mpg321.c: In function ‘read_keyb’:
mpg321.c:132:27: error: implicit declaration of function ‘mpg321_alsa_get_volume’ [-Wimplicit-function-declaration]
  132 |                 bvolume = mpg321_alsa_get_volume();
      |                           ^~~~~~~~~~~~~~~~~~~~~~
mpg321.c:173:33: error: implicit declaration of function ‘mpg321_alsa_set_volume’ [-Wimplicit-function-declaration]
  173 |                                 mpg321_alsa_set_volume(bvolume);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~
mpg321.c:186:75: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘int’ [-Wformat=]
  186 |                                                 fprintf(stderr,"Volume: %ld%%      \r",volume);
      |                                                                         ~~^            ~~~~~~
      |                                                                           |            |
      |                                                                           long int     int
      |                                                                         %d
mpg321.c:236:75: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘int’ [-Wformat=]
  236 |                                                 fprintf(stderr,"Volume: %ld%%      \r",volume);
      |                                                                         ~~^            ~~~~~~
      |                                                                           |            |
      |                                                                           long int     int
      |                                                                         %d
mpg321.c: In function ‘show_id3’:
mpg321.c:450:24: warning: format not a string literal and no format arguments [-Wformat-security]
  450 |                 printf(emptystring);
      |                        ^~~~~~~~~~~
mpg321.c:468:34: warning: format not a string literal and no format arguments [-Wformat-security]
  468 |                 fprintf (stderr, emptystring);
      |                                  ^~~~~~~~~~~
mpg321.c: In function ‘main’:
mpg321.c:688:17: error: implicit declaration of function ‘init_alsa_volume_control’ [-Wimplicit-function-declaration]
  688 |                 init_alsa_volume_control("default"); /* For the moment use "default", it works on most of the systems. Tested in Debian,Fedora,Ubuntu,RedHat,CentOS,Gentoo */
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
mpg321.c:882:13: error: implicit declaration of function ‘calc_http_length’; did you mean ‘calc_length’? [-Wimplicit-function-declaration]
  882 |             calc_http_length(&playbuf);
      |             ^~~~~~~~~~~~~~~~
      |             calc_length
make[2]: *** [Makefile:369: mpg321.o] Error 1
make[2]: Leaving directory '/home/vitalii/.cache/yay/mpg321/src/mpg321-0.3.2-orig'
make[1]: *** [Makefile:427: all-recursive] Error 1
make[1]: Leaving directory '/home/vitalii/.cache/yay/mpg321/src/mpg321-0.3.2-orig'
make: *** [Makefile:253: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: mpg321-exit status 4

pbear commented on 2022-03-12 17:22 (UTC) (edited on 2022-03-12 17:24 (UTC) by pbear)

I cannot install it mpg321.c: Dans la fonction « id3_get_tag »: mpg321.c:1238:15: note: longueur calculée ici 1238 | len = strlen(latin1); | ^~~~~~~~~~~~~~ cc1 : certains avertissements sont traités comme des erreurs make[2]: *** [Makefile:369 : mpg321.o] Erreur 1 make[2] : on quitte le répertoire « /home/pbear/.cache/yay/mpg321/src/mpg321-0.3.2-orig » make[1]: *** [Makefile:427 : all-recursive] Erreur 1 make[1] : on quitte le répertoire « /home/pbear/.cache/yay/mpg321/src/mpg321-0.3.2-orig » make: *** [Makefile:253 : all] Erreur 2 ==> ERREUR : Une erreur s’est produite dans build(). Abandon… -> erreur lors de la construction : mpg321

fgr commented on 2013-07-03 10:12 (UTC)

you need to modify some strings: -pkgver=0.2.13 -pkgrel=2 +pkgver=0.3.2 +pkgrel=1 -source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") -sha512sums=('bf9312748e772b4b69593b0fb314730eb2995b39369514867d5e216a65e578bdeae82acfcf22b19b1d49e856be9ffa3680e3d1135c47e3cd868187836ceaff42') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}_${pkgver}.orig.tar.gz") +sha256sums=('056fcc03e3f5c5021ec74bb5053d32c4a3b89b4086478dcf81adae650eac284e') - cd $pkgname-$pkgver-$pkgrel + cd $pkgname-$pkgver-orig

bohoomil commented on 2010-12-09 00:01 (UTC)

In case someone needs, there's a corrected PKGBUILD: http://pastebin.com/9wM0JfF5

darehanl commented on 2010-07-29 04:09 (UTC)

# This seems to work. pkgname=mpg321 pkgver=0.2.12 pkgrel=1 pkgdesc='a completely Free drop-in replacement for mpg123, for the use of frontends, shell scripts, etc.' arch=('i686' 'x86_64') url='http://sourceforge.net/projects/mpg321/' license=('GPL') depends=('libmad' 'libao' 'libid3tag') provides=('mpg123') conflicts=('mpg123') source=(http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}-1.tar.gz) md5sums=('abd1e2ea6a606389ff19da66d252e530') build() { cd $pkgname-$pkgver-1 ./configure --prefix=/usr make || return 1 make DESTDIR="$pkgdir" install || return 1 }