Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support
@ 2021-02-02 23:52 Johnnynator
  2021-02-03 12:01 ` ScrelliCopter
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Johnnynator @ 2021-02-02 23:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1673 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages mumble
https://github.com/void-linux/void-packages/pull/28422

[RFC] mumble: build umurmur without Ice rpc support
<!-- Mark items with [x] where applicable -->

#### General
@Hoshpak  We currently use umurmur with an ancient Ice version from 2013 which nobody ever bothered to update, but a this old Ice version doesn't support recent OpenSSL versions.
I would propose to just drop Ice and build mumble without support for it.
If you would like to keep Ice support, than please update the package.

#### Have the results of the proposed changes been tested?
- [x] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/28422.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mumble-28422.patch --]
[-- Type: text/x-diff, Size: 1466 bytes --]

From ff4256a916802096a74887e356281adfd727bfa2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 3 Feb 2021 00:44:57 +0100
Subject: [PATCH] mumble: build umurmur without Ice rpc support

---
 srcpkgs/mumble/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index f068f917229..44d09025943 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,14 +1,15 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.3.3
-revision=4
+revision=5
 build_style=qmake
 configure_args="CONFIG+=bundled-celt CONFIG+=no-bundled-opus CONFIG+=no-update
  CONFIG+=no-bundled-speex CONFIG+=no-g15 CONFIG+=no-xevie CONFIG+=pulseaudio
  $(vopt_if jack CONFIG+=jackaudio) CONFIG+=no-embed-qt-translations
- CONFIG+=no-oss CONFIG+=portaudio DEFINES+=PLUGIN_PATH=/usr/lib/mumble"
-hostmakedepends="Ice pkg-config protobuf qt5-host-tools qt5-qmake python3 which"
-makedepends="Ice-devel MesaLib-devel avahi-compat-libs-devel boost-devel
+ CONFIG+=no-oss CONFIG+=portaudio CONFIG+=no-ice
+ DEFINES+=PLUGIN_PATH=/usr/lib/mumble"
+hostmakedepends="pkg-config protobuf qt5-host-tools qt5-qmake python3 which"
+makedepends="MesaLib-devel avahi-compat-libs-devel boost-devel
  libcap-devel libressl-devel libsndfile-devel opus-devel protobuf-devel
  pulseaudio-devel $(vopt_if jack jack-devel) qt5-devel qt5-svg-devel
  speech-dispatcher-devel speex-devel portaudio-devel"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] mumble: build umurmur without Ice rpc support
  2021-02-02 23:52 [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support Johnnynator
@ 2021-02-03 12:01 ` ScrelliCopter
  2021-02-17 22:39 ` Johnnynator
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: ScrelliCopter @ 2021-02-03 12:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 316 bytes --]

New comment by ScrelliCopter on void-packages repository

https://github.com/void-linux/void-packages/pull/28422#issuecomment-772456981

Comment:
As an alternative solution, I'm looking into updating the ice package to 3.7.5.
Currently the build step finishes on x86_64, I'll report back if I get anywhere with it.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] mumble: build umurmur without Ice rpc support
  2021-02-02 23:52 [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support Johnnynator
  2021-02-03 12:01 ` ScrelliCopter
@ 2021-02-17 22:39 ` Johnnynator
  2021-02-19  1:37 ` ScrelliCopter
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Johnnynator @ 2021-02-17 22:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 360 bytes --]

New comment by Johnnynator on void-packages repository

https://github.com/void-linux/void-packages/pull/28422#issuecomment-780901657

Comment:
> As an alternative solution, I'm looking into updating the ice package to 3.7.5.
> Currently the build step finishes on x86_64, I'll report back if I get anywhere with it.

Did you have any more progress so far?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] mumble: build umurmur without Ice rpc support
  2021-02-02 23:52 [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support Johnnynator
  2021-02-03 12:01 ` ScrelliCopter
  2021-02-17 22:39 ` Johnnynator
@ 2021-02-19  1:37 ` ScrelliCopter
  2021-02-20 21:46 ` ScrelliCopter
  2021-02-22  9:22 ` [PR PATCH] [Closed]: " Johnnynator
  4 siblings, 0 replies; 6+ messages in thread
From: ScrelliCopter @ 2021-02-19  1:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 5002 bytes --]

New comment by ScrelliCopter on void-packages repository

https://github.com/void-linux/void-packages/pull/28422#issuecomment-781753855

Comment:
@Johnnynator 

> Did you have any more progress so far?

Hiya, sorry I got caught up with other things and left this hanging.

I'll share what I was able to get working,

First, upstream mcpp is abandonware and is missing features newer versions of Ice need to build. There are supposedly patches to the official mcpp that allow it to work but I couldn't see links to any (I'm guessing they live in distros), instead I tried packaging ZeroC's official stripped down library only version.

```
# Template file for 'zeroc-mcpp'
pkgname=zeroc-mcpp
version=2.7.2.14
revision=1
wrksrc="mcpp-${version}"
build_style=gnu-makefile
short_desc="Simplified fork of mcpp from ZeroC, for building ICE"
maintainer="a dinosaur <nick@a-dinosaur.com>"
license="BSD-2-Clause"
homepage="https://github.com/zeroc-ice/mcpp"
distfiles="https://github.com/zeroc-ice/mcpp/archive/v${version}.tar.gz"
checksum=1a426cf2d513ffd66634384d5445dcce1aac83be1789a56044013eab8ca8ffff
nostrip=yes
conflicts=mcpp-devel

post_patch() {
	vsed 's|LIBDIR = lib64|LIBDIR = lib|' -i Makefile
}

do_install() {
	vinstall mcpp_lib.h 644 usr/include
	vinstall mcpp_out.h 644 usr/include
	vinstall lib/libmcpp.a 644 usr/lib
	vlicense LICENSE
}
```

Then I was able to modify the existing Ice template for 3.7.5. All of the patches had completely bit-rotted, I salvaged one that was still relevant but the rest had to be thrown away, so musl and other archs would need to be tested. I got to the point where `./xbps-src pkg Ice` completes sucessfully but I haven't really tested and there are some issues like the main `Ice` package having an annoying infinitely recursing `/usr/lib/lib` symlink (I'm not sure if this problem is with Ice's complicated build scripts or if my clone of void-packages is cursed, cus this isn't the firs time this has happened to me). I haven't had the chance to test building Mumble with it just yet.

```
# Template file for 'Ice'
pkgname=Ice
version=3.7.5
revision=1
wrksrc="ice-${version}"
build_style=gnu-makefile
make_build_args="LANGUAGES=cpp prefix=${DESTDIR}/usr OPTIMIZE=yes USR_DIR_INSTALL=yes NOTEST=yes CONFIGS=shared CONFIGS+=cpp11-shared"
make_install_args="LANGUAGES=cpp prefix=${DESTDIR}/usr"
makedepends="zlib-devel bzip2-devel zeroc-mcpp db-devel expat-devel libressl-devel lmdb-devel editline-devel"
short_desc="Internet Communications Engine (Ice)"
maintainer="a dinosaur <nick@a-dinosaur.com>"
license="GPL-2.0-only, custom:ICE"
homepage="https://www.zeroc.com"
distfiles="https://github.com/zeroc-ice/ice/archive/v${version}.tar.gz"
checksum=36bf45591a95e6ee7216153d45d8eca05ff00c1da35608f0c400e6ddc8049da9

if [ "$CROSS_BUILD" ]; then
	# Cross build requires the host's slice2cpp and slice2freeze
	hostmakedepends+=" Ice"
fi

do_configure() {
	# Disable building tests
	vsed 's|include \$(top_srcdir)/config/Make.tests.rules||' -i config/Make.rules

	# Simple fixes for musl libc instead of a proper patch
	vsed -e 's|sys/poll\.h|poll.h|' -i cpp/src/Ice/Network.h cpp/src/Ice/Selector.h

	# Patch to find our $CXX and always use our $CXXFLAGS
	vsed -e 's|-Werror|-Wno-error|' -i config/Make.rules.Linux

	# Patch to fix finding editline
	vsed 's|-ledit|-leditline|' -i config/Make.rules.Linux
	vsed 's|editline/readline.h|editline.h|' -i cpp/src/IceStorm/Parser.cpp cpp/src/IceGrid/Parser.cpp

	vsed 's|lib64|lib|' -i scripts/Util.py
}

pre_install() {
	case "$XBPS_MACHINE" in
	x86_64*)
		vmkdir usr/lib
		ln -s lib ${DESTDIR}/usr/lib64
		;;
	esac
}

post_install() {
	[ -h ${DESTDIR}/usr/lib64 ] && rm -f ${DESTDIR}/usr/lib64

	#mv ${DESTDIR}/usr/slice ${DESTDIR}/usr/share
	#rm ${DESTDIR}/usr/LICENSE ${DESTDIR}/usr/ICE_LICENSE
	#rm ${DESTDIR}/usr/CHANGES ${DESTDIR}/usr/RELEASE_NOTES
	#cd ${wrksrc}
	vlicense ICE_LICENSE
	#vdoc "CHANGELOG-*.md"

	# remove unused cruft
	#rm -f ${DESTDIR}/usr/lib/*.class
}

libIce_package() {
	short_desc+=" - runtime libraries"
	pkg_install() {
		vmove "usr/lib/*.so.*"
	}
}

Ice-devel_package() {
	depends="libIce>=${version}_${revision} Ice>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.so"
	}
}
```

It appears the new shlibs should be:

```
libGlacier2.so.37 libIce-3.7.5_1
libIce.so.37 libIce-3.7.5_1
libIceSSL.so.37 libIce-3.7.5_1
libIceUtil.so.37 libIce-3.7.5_1
libIceStormService.so.37 libIce-3.7.5_1
libIceStorm.so.37 libIce-3.7.5_1
libFreeze.so.37 libIce-3.7.5_1
libSlice.so.37 libIce-3.7.5_1
libIceBox.so.37 libIce-3.7.5_1
libIceGrid.so.37 libIce-3.7.5_1
libIcePatch2.so.37 libIce-3.7.5_1
libIceDB.so.37 libIce-3.7.5_1
libIceXML.so.37 libIce-3.7.5_1
libIceDiscovery.so.37 libIce-3.7.5_1
libIceLocatorDiscovery.so.37 libIce-3.7.5_1
libGlacier2CryptPermissionsVerifier.so.37 libIce-3.7.5_1
```

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] mumble: build umurmur without Ice rpc support
  2021-02-02 23:52 [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support Johnnynator
                   ` (2 preceding siblings ...)
  2021-02-19  1:37 ` ScrelliCopter
@ 2021-02-20 21:46 ` ScrelliCopter
  2021-02-22  9:22 ` [PR PATCH] [Closed]: " Johnnynator
  4 siblings, 0 replies; 6+ messages in thread
From: ScrelliCopter @ 2021-02-20 21:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 300 bytes --]

New comment by ScrelliCopter on void-packages repository

https://github.com/void-linux/void-packages/pull/28422#issuecomment-782754187

Comment:
Update: removing the `pre_install()` step left over from the old template fixed the problem. I also successfully tested building murmur with the new ice.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Closed]: [RFC] mumble: build umurmur without Ice rpc support
  2021-02-02 23:52 [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support Johnnynator
                   ` (3 preceding siblings ...)
  2021-02-20 21:46 ` ScrelliCopter
@ 2021-02-22  9:22 ` Johnnynator
  4 siblings, 0 replies; 6+ messages in thread
From: Johnnynator @ 2021-02-22  9:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1515 bytes --]

There's a closed pull request on the void-packages repository

[RFC] mumble: build umurmur without Ice rpc support
https://github.com/void-linux/void-packages/pull/28422

Description:
<!-- Mark items with [x] where applicable -->

#### General
@Hoshpak  We currently use umurmur with an ancient Ice version from 2013 which nobody ever bothered to update, but a this old Ice version doesn't support recent OpenSSL versions.
I would propose to just drop Ice and build mumble without support for it.
If you would like to keep Ice support, than please update the package.

#### Have the results of the proposed changes been tested?
- [x] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-02-22  9:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02 23:52 [PR PATCH] [RFC] mumble: build umurmur without Ice rpc support Johnnynator
2021-02-03 12:01 ` ScrelliCopter
2021-02-17 22:39 ` Johnnynator
2021-02-19  1:37 ` ScrelliCopter
2021-02-20 21:46 ` ScrelliCopter
2021-02-22  9:22 ` [PR PATCH] [Closed]: " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).