#1100886 ITP: decibels -- Audio player for GNOME

#1100886#5
Date:
2025-03-19 13:59:53 UTC
From:
To:
* Package name    : decibels
  Version         : 48.0
  Upstream Contact: The GNOME Project (https://gnome.org)
* URL             : https://gitlab.gnome.org/GNOME/decibels/
* License         : GPL
  Programming Lang: TypeScript
  Description     : Audio player for GNOME

An audio player that just plays audio files. It doesn't require an organized
music library and won't overload you with tons of functionality.
.
Audio Player still offers advanced features such as:
.
 * An elegant waveform of the track
 * Adjustable playback speed
 * Easy seek controls
 * Playing multiple files at the same time

Part of the packaging job is done on FOSSASIA 2025, as attendees told me that
Decibels is still yet not in Debian. The current packaging job happens in
https://salsa.debian.org/billchenchina/decibels, but I would happy to move
this package to team packaging.

#1100886#10
Date:
2025-03-21 03:30:20 UTC
From:
To:
Hi Tianyu Chen

Thanks for your initiative in packaging Decibels in Debian.

Since Decibels has been accepted by the Gnome Project to integrate it's software suite, perhaps it could be maintained by the Debian Gnome Team. I CCed them on this email thread.

Cheers
---------------------------- ⢀⣴⠾⠻⢶⣦ Felipe Maia ⢿⡄⠘⠷⠚⠋ Debian Contributor ⠈⠳⣄
#1100886#15
Date:
2025-03-22 18:04:27 UTC
From:
To:
Hi Felipe!

Felipe Maia <felipegmaia@protonmail.com> 于2025年3月21日周五 11:30写道:

Would be happy to maintain it in the Gnome Team!

Best Regards,
Tianyu Chen

#1100886#20
Date:
2025-03-25 01:56:16 UTC
From:
To:
This message is intended to fix (as much as possible) the mistake I've made sending the previous email to the wrong addresses.

If you would like to write to this thread, and continue the conversation, don't answer this message. Instead, answer one of the other messages of the thread and choose the right destinations, which don't include <submit@bugs.debian.org> and <owner@bugs.debian.org>.

BEFORE (WRONG)

To: billchenchina2001@gmail.com
CC: submit@bugs.debian.org, owner@bugs.debian.org, debian-gtk-gnome@lists.debian.org

NOW (RIGHT)

CC: 1100886@bugs.debian.org, debian-gtk-gnome@lists.debian.org, billchenchina2001@gmail.com

Sorry for the inconvenience.

Felipe Maia

#1100886#25
Date:
2025-03-27 14:15:31 UTC
From:
To:
Hi and welcome! Thank you for helping to make Debian better.

Your version didn't build for me. I got errors like

[20/21] /usr/bin/tsc --project ../tsconfig.json --outDir src
FAILED: src/application.js src/drag-overlay.js src/empty.js
src/error.js src/header.js src/main.js src/mpris.js
src/playback-rate-button.js src/player.js src/stream.js
src/volume-button.js src/waveform.js src/window.js
/usr/bin/tsc --project ../tsconfig.json --outDir src
../src/application.ts(26,12): error TS2339: Property 'quit' does not
exist on type 'Application'.
../src/application.ts(29,10): error TS2339: Property 'add_action' does
not exist on type 'Application'.

I got the same kind of errors with 48.0, the latest stable release, so
I went ahead and imported 48.0 into
https://salsa.debian.org/gnome-team/decibels using the branch
configuration we generally use on the Debian GNOME team. I kept your
minimal debian/ packaging.

Were you able to get Decibels to build? What version of Debian were you using?

The Debian GNOME team has no experience with TypeScript apps so I
expect that it will take several months before the work is finished
and this app is available in Debian Unstable.

We might need to force push to the Salsa repo later depending on what
changes we need to make, but this gives us a place to start.

1. You can read more about the team workflow at
https://wiki.debian.org/Gnome/Git . I apologize that the docs are
incomplete.

2. I recommend copying debian/watch from another Debian GNOME project
like https://salsa.debian.org/gnome-team/gnome-text-editor

3. We also need a debian/copyright file

4. debian/control is missing a lot of fields that we need

Thank you,
Jeremy Bícha

#1100886#30
Date:
2025-03-27 19:16:55 UTC
From:
To:
Hi Jeremy!

I'm on Debian unstable.

The problem is caused by the low node-typescript version. I managed to
successfully build the gnome-team/decibels version with a local-packaged
node-typescript_5.8.2+ds1_0local1.(Currently Debian only has 4.9.5 in
sid and 5.0.4 in exp)
Thank you! I'll work on this later.

#1100886#35
Date:
2025-03-27 19:36:02 UTC
From:
To:
I noticed that the Fedora package specified a fairly high version
number for their equivalent of node-typescript. Thank you for
confirming.

Could you ask the Debian node-typescript maintainers if they could
upload a newer version to Experimental?

Probably the most difficult part of packaging Decibels will be how to
handle the vendored gi-types. Based on our experience with Rust, we
may need to package the generator.

Either the archived one that Decibels is currently using
https://github.com/gjsify/gi.ts

or the new one that Decibels isn't using yet
https://github.com/gjsify/ts-for-gir

The switch is mentioned at
https://gitlab.gnome.org/GNOME/decibels/-/merge_requests/128

This means that the first GNOME Typescript app will be the most
difficult to package. After that, the others should be much easier.

Figuring out how to handle the generator and its output is the part
that I expect to take a long time.

Thank you,
Jeremy Bícha

#1100886#40
Date:
2025-03-27 19:49:20 UTC
From:
To:
On Fri, Mar 28, 2025, 3:36 AM Jeremy Bícha <jeremy.bicha@canonical.com> wrote:

Yes, will do.

Probably the most difficult part of packaging Decibels will be how to

Actually we don't need to vendor gi-types anymore if we use the upstream
tarball from
https://download.gnome.org/sources/decibels/48/decibels-48.0.tar.xz

If not using the tarball, pinning gi-types @ dbbaa052 also builds
successfully from my side.

Either the archived one that Decibels is currently using

#1100886#45
Date:
2025-03-27 19:54:28 UTC
From:
To:
On Fri, Mar 28, 2025, 3:36 AM Jeremy Bícha <jeremy.bicha@canonical.com> wrote:

Ah, sorry I think I missed your point in my previous message.

Do you mean we should exclude the gi-types directory and package generate
the types in build stage and using a generator you mentioned? Do I get you
right?

Either the archived one that Decibels is currently using

#1100886#50
Date:
2025-03-27 19:58:57 UTC
From:
To:
Yes, based on our experience with packaging the first GNOME Rust apps,
we suspect that the ftpmasters may reject using the vendored gi-types
for our build. If so, we will likely go one step further and exclude
that directory from our tarballs. However, you don't need to worry
about how that exclusion works now, but it's why I said we may end up
force-pushing to the repo later.

In order for new software to get into Debian, it must go through the
NEW queue [See https://ftp-master.debian.org/new.html ] and be
accepted by ftpmasters from there.

Thank you,
Jeremy Bícha

#1100886#55
Date:
2025-03-27 20:03:30 UTC
From:
To:
On Fri, Mar 28, 2025, 3:59 AM Jeremy Bícha <jeremy.bicha@canonical.com> wrote:

Understood. I'll take a look at the generators later.

Thank you for your explanation!

Thank you,

#1100886#60
Date:
2025-03-27 20:12:47 UTC
From:
To:
The generator is complicated and I would not recommend working on this
to someone who is new to Debian packaging. But if you are really
interested in some technical details…

The packaged Rust generator is at
https://tracker.debian.org/pkg/gir-rust-code-generator

An example of how it is used is with
https://tracker.debian.org/pkg/rust-glib . The Debian Rust team uses a
monorepo with generated debian/ files so I recommend clicking the
"browse source code" link there instead of using the VCS link. And
then you can browse to the debian/rules file. The GNOME Typescript
generator build may look very different but that's the closest thing
we have in concept to what we're doing.

We may end up with multiple binary packages looking something like
what exists for https://tracker.debian.org/pkg/gtk-d or maybe we group
it all together in one or a few binary packages like is done for
https://tracker.debian.org/pkg/vala

Thank you,
Jeremy Bícha

#1100886#67
Date:
2025-12-12 06:44:22 UTC
From:
To:
I no longer have interest in this package. Hopefully someone from
Debian Gnome Team would package this.

Best regards,
Tianyu Chen