#980432 ITP: golang-github-jhump-protoreflect -- Reflection (Rich Descriptors) for Go Protocol Buffers

Package:
wnpp
Source:
wnpp
Submitter:
"Arnaud Rebillout"
Date:
2026-03-16 08:17:02 UTC
Severity:
wishlist
#980432#5
Date:
2021-01-19 02:05:29 UTC
From:
To:
* Package name    : golang-github-jhump-protoreflect
  Version         : 1.8.1-1
  Upstream Author : Joshua Humphries
* URL             : https://github.com/jhump/protoreflect
* License         : Apache-2.0
  Programming Lang: Go
  Description     : Reflection (Rich Descriptors) for Go Protocol Buffers

 Reflection APIs for protocol buffers (also known as "protobufs" for short) and
 gRPC. The core of reflection in protobufs is the descriptor. A descriptor is
 itself a protobuf message that describes a .proto source file or any element
 therein. So a collection of descriptors can describe an entire schema of
 protobuf types, including RPC services.
----

This package is needed as a build-depends of buf (https://buf.build),  which is
itself needed to build the latest versions of nomad (https://www.nomadproject.io).

#980432#10
Date:
2022-01-15 03:20:02 UTC
From:
To:
Hi,

Do you need any help for golang-github-jhump-protoreflect package?

Currently I am working on kafkactl <https://bugs.debian.org/995963>
which also requires golang-github-jhump-protoreflect.

#980432#15
Date:
2022-01-17 07:04:10 UTC
From:
To:
Hello,

I'm not working on this package anymore.

The packaging itself was not hard to do, and you can find it at
https://salsa.debian.org/go-team/packages/golang-github-jhump-protoreflect

However, the package does not build as is. It seems to require a more
recent version of the golang protobuf thing (sorry I can't be more precise).

Here are my personal notes on the matter:

- Building against `golang-goprotobuf-dev 1.3.4-1` from Debian fails,
due to #977652.
- Tried to vendor in golang-goprotobuf-dev, however the build breaks again.
- Bottom-line: Debian ships goprotobuf `1.3.4`, upstream goes with
`1.4`. We NEED `1.4`.

That was a year ago. Looking at it today, nothing changed in unstable,
but there is a recent version of goprotobuf in experimental:

   $ rmadison golang-goprotobuf-dev
   debian:
   golang-goprotobuf-dev | 1.3.4-2+b6 | stable
   golang-goprotobuf-dev | 1.3.4-2+b6 | testing
   golang-goprotobuf-dev | 1.3.4-2+b6 | unstable
   golang-goprotobuf-dev | 1.5.2-1~exp1 | experimental

So I think that the best approach would be to:

- try to build the package against golang-goprotobuf-dev from
experimental to see if it works
- maybe also update the packaging files of jhump-protoreflect, as
upstream is now at version 1.10.1

 From what I understand, it's not easy to update golang-goprotobuf in
Debian unstable as it would break things. Cf
https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=golang-goprotobuf.

Going forward, even if you manage to build jhump-protoreflect, I don't
know what it would take to maintain it. It's about low-level Go stuff,
code generation, and I don't understand any of that. That's also a
reason why I gave up on the package.

I don't know who, if anyone, is working on updating
golang-goprotobuf-dev in unstable. Maybe you should reach out on the
Debian Go mailing list to ask.

All the best, and thanks for pinging me, I should have updated the ITP
with this information long ago.

Cheers!

#980432#22
Date:
2026-03-16 06:56:13 UTC
From:
To:
Hi Arnaud,

This ITP is also a new dependency of my package, so I took a look this weekend.
Seems like it still cannot build, even after my changes.
I pushed my changes to branch rosh/update [1]
Can you kindly check whether this can be fixed? Thank you!

[1] https://salsa.debian.org/go-team/packages/golang-github-jhump-protoreflect/-/tree/rosh/update

Current error log, after my changes:

protoc-gen-go: unknown argument "--go_out=plugins=grpc:../../../../.."
(this program should be run by protoc, not directly)
src/github.com/jhump/protoreflect/internal/testprotos/gen.go:3:
running "./make_protos.sh": exit status 1

@Shengjing it'd be appreciated if you can check it as well.Thank you!

Cheers,
Roger