Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: root-6.24.06
@ 2021-12-21 16:55 BenJarg
  2021-12-21 16:59 ` [PR REVIEW] " Duncaen
                   ` (103 more replies)
  0 siblings, 104 replies; 105+ messages in thread
From: BenJarg @ 2021-12-21 16:55 UTC (permalink / raw)
  To: ml

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

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

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06

- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architecture, (x86_64-glibc)


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

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

From a5ad5ca58449c1353f8600ae6fd16303cfb89df9 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 common/shlibs         | 117 ++++++++++++++++++++++++++++++++++++++++++
 srcpkgs/root/template |  19 +++++++
 2 files changed, 136 insertions(+)
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 17c9ca42de46..d266ee4cd23d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4094,3 +4094,120 @@ libkaddressbookmergelibprivate.so.5 kdepim-addons-21.08.3_1
 libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
+libvalarrayDict.so root-6.24.06_1
+libSmatrix.so root-6.24.06_1
+libCore.so root-6.24.06_1
+libSQLIO.so root-6.24.06_1
+libSessionViewer.so root-6.24.06_1
+libX3d.so root-6.24.06_1
+libGeomBuilder.so root-6.24.06_1
+libGdml.so root-6.24.06_1
+libRooStats.so root-6.24.06_1
+libHist.so root-6.24.06_1
+libRooBatchCompute_AVX2.so root-6.24.06_1
+libImt.so root-6.24.06_1
+libCling.so root-6.24.06_1
+libROOTBrowserGeomWidget.so root-6.24.06_1
+libFoam.so root-6.24.06_1
+libGraf.so root-6.24.06_1
+libProofPlayer.so root-6.24.06_1
+libRooBatchCompute_AVX.so root-6.24.06_1
+liblistDict.so root-6.24.06_1
+libMinuit.so root-6.24.06_1
+libEG.so root-6.24.06_1
+libROOTWebDisplay.so root-6.24.06_1
+libASImageGui.so root-6.24.06_1
+libSPlot.so root-6.24.06_1
+libNew.so root-6.24.06_1
+libProofBench.so root-6.24.06_1
+libGuiHtml.so root-6.24.06_1
+libmap2Dict.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libROOTTPython.so root-6.24.06_1
+libGui.so root-6.24.06_1
+libROOTLeafDraw7Provider.so root-6.24.06_1
+libGX11TTF.so root-6.24.06_1
+libmultisetDict.so root-6.24.06_1
+libcppyy_backend3_10.so root-6.24.06_1
+libRHTTPSniff.so root-6.24.06_1
+libROOTFitPanelv7.so root-6.24.06_1
+libMultiProc.so root-6.24.06_1
+libGuiBld.so root-6.24.06_1
+libforward_listDict.so root-6.24.06_1
+libFumili.so root-6.24.06_1
+libRooFit.so root-6.24.06_1
+libRCsg.so root-6.24.06_1
+libROOTVecOps.so root-6.24.06_1
+libROOTGraphicsPrimitives.so root-6.24.06_1
+libRHTTP.so root-6.24.06_1
+libROOTEve.so root-6.24.06_1
+libROOTHistDraw.so root-6.24.06_1
+libRooBatchCompute_SSE4.1.so root-6.24.06_1
+libunordered_mapDict.so root-6.24.06_1
+libQuadp.so root-6.24.06_1
+libROOTHist.so root-6.24.06_1
+libGX11.so root-6.24.06_1
+libmultimapDict.so root-6.24.06_1
+libGenVector.so root-6.24.06_1
+libTreeViewer.so root-6.24.06_1
+libunordered_multimapDict.so root-6.24.06_1
+libGeomPainter.so root-6.24.06_1
+libRecorder.so root-6.24.06_1
+libmapDict.so root-6.24.06_1
+libROOTDataFrame.so root-6.24.06_1
+libWebGui6.so root-6.24.06_1
+libJupyROOT3_10.so root-6.24.06_1
+libROOTObjectDraw6Provider.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libXMLIO.so root-6.24.06_1
+libsetDict.so root-6.24.06_1
+libGenetic.so root-6.24.06_1
+libSpectrum.so root-6.24.06_1
+libProofDraw.so root-6.24.06_1
+libROOTCanvasPainter.so root-6.24.06_1
+libROOTGpadv7.so root-6.24.06_1
+libGed.so root-6.24.06_1
+libROOTBranchBrowseProvider.so root-6.24.06_1
+libRooBatchCompute_GENERIC.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
+libRooFitCore.so root-6.24.06_1
+libROOTBrowserv7.so root-6.24.06_1
+libROOTHistDrawProvider.so root-6.24.06_1
+libdequeDict.so root-6.24.06_1
+libcomplexDict.so root-6.24.06_1
+libGeom.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libGpad.so root-6.24.06_1
+libFitPanel.so root-6.24.06_1
+libNet.so root-6.24.06_1
+libROOTBrowserRCanvasWidget.so root-6.24.06_1
+libRooBatchCompute_AVX512.so root-6.24.06_1
+libPostscript.so root-6.24.06_1
+libRootAuth.so root-6.24.06_1
+libTreePlayer.so root-6.24.06_1
+libROOTNTuple.so root-6.24.06_1
+libvectorDict.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libProof.so root-6.24.06_1
+libROOTBrowsable.so root-6.24.06_1
+libTMVAGui.so root-6.24.06_1
+libROOTPythonizations3_10.so root-6.24.06_1
+libPhysics.so root-6.24.06_1
+libGraf3d.so root-6.24.06_1
+libSpectrumPainter.so root-6.24.06_1
+libMLP.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libunordered_setDict.so root-6.24.06_1
+libRooBatchCompute.so root-6.24.06_1
+libROOTBrowserTCanvasWidget.so root-6.24.06_1
+libSrvAuth.so root-6.24.06_1
+libcppyy3_10.so root-6.24.06_1
+libHtml.so root-6.24.06_1
+libROOTLeafDraw6Provider.so root-6.24.06_1
+libRint.so root-6.24.06_1
+libmultimap2Dict.so root-6.24.06_1
+libASImage.so root-6.24.06_1
+libROOTBrowserWidgets.so root-6.24.06_1
+libunordered_multisetDict.so root-6.24.06_1
+libHistPainter.so root-6.24.06_1
+libROOTObjectDraw7Provider.so root-6.24.06_1
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..aff98d2957e2
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,19 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+archs="x86_64"
+build_style=cmake
+make_cmd=make
+configure_args="-DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+hostmakedepends="gcc git"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel python3-devel openssl-devel libpng-devel tbb-devel"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
@ 2021-12-21 16:59 ` Duncaen
  2021-12-21 20:35 ` [PR PATCH] [Updated] " BenJarg
                   ` (102 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Duncaen @ 2021-12-21 16:59 UTC (permalink / raw)
  To: ml

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

New review comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r773301669

Comment:
Those libraries shouldn't be listed here, they are not versioned so there is nothing to gain from that.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
  2021-12-21 16:59 ` [PR REVIEW] " Duncaen
@ 2021-12-21 20:35 ` BenJarg
  2021-12-21 20:48 ` [PR REVIEW] " BenJarg
                   ` (101 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-21 20:35 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06

- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architecture, (x86_64-glibc)


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

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

From d006b4be7b4cc9c410e925809fef3ff5aeac820a Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 srcpkgs/root/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..aff98d2957e2
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,19 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+archs="x86_64"
+build_style=cmake
+make_cmd=make
+configure_args="-DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+hostmakedepends="gcc git"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel python3-devel openssl-devel libpng-devel tbb-devel"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
  2021-12-21 16:59 ` [PR REVIEW] " Duncaen
  2021-12-21 20:35 ` [PR PATCH] [Updated] " BenJarg
@ 2021-12-21 20:48 ` BenJarg
  2021-12-22  3:00 ` [PR PATCH] [Updated] " BenJarg
                   ` (100 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-21 20:48 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r773434411

Comment:
I see, removed them from the commit

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (2 preceding siblings ...)
  2021-12-21 20:48 ` [PR REVIEW] " BenJarg
@ 2021-12-22  3:00 ` BenJarg
  2021-12-23  2:47 ` BenJarg
                   ` (99 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-22  3:00 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06

- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architecture, (x86_64-glibc)


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

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

From dce873ec79fa776b6743e24a907dd2cfea1a12b6 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 srcpkgs/root/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..71e0367dcc03
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,18 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+build_style=cmake
+make_cmd=make
+configure_args="-DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+hostmakedepends="gcc git"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel python3-devel openssl-devel libpng-devel tbb-devel"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (3 preceding siblings ...)
  2021-12-22  3:00 ` [PR PATCH] [Updated] " BenJarg
@ 2021-12-23  2:47 ` BenJarg
  2021-12-23  9:45 ` balejk
                   ` (98 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-23  2:47 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06

- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architecture, (x86_64-glibc)


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

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

From 5b211b0500d8e9ae7b3f9ef2a75723148a8baec5 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 srcpkgs/root/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..ded0031c079a
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,20 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 on glibc seem to be officially supported
+archs="i686 x86_64"
+build_style=cmake
+make_cmd=make
+configure_args="-DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+hostmakedepends="gcc git"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel python3-devel openssl-devel libpng-devel tbb-devel"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (4 preceding siblings ...)
  2021-12-23  2:47 ` BenJarg
@ 2021-12-23  9:45 ` balejk
  2021-12-23 17:24 ` BenJarg
                   ` (97 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2021-12-23  9:45 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1000174375

Comment:
I was actually about to package this myself, I just haven't yet found the time to polish the template and test it properly. Please feel free to see my template (branch `root` of my fork of `void-packages`) and to copy off anything you like (in particular, I think the `-Dgnuinstall=ON` `cmake` option might be worth noting). There is also a patch included, which enables ROOT to compile on musl too (well, sort of) and which got merged upstream (for more details please refer to [this PR](https://github.com/root-project/root/pull/9288)).

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (5 preceding siblings ...)
  2021-12-23  9:45 ` balejk
@ 2021-12-23 17:24 ` BenJarg
  2021-12-23 17:55 ` [PR PATCH] [Updated] " BenJarg
                   ` (96 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-23 17:24 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1000437927

Comment:
@balejk  Thanks! I think I'll follow your lead and a few of those things to my template. Good to see it is possible to get it to compile with musl; thanks for the help.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (6 preceding siblings ...)
  2021-12-23 17:24 ` BenJarg
@ 2021-12-23 17:55 ` BenJarg
  2021-12-24  0:17 ` BenJarg
                   ` (95 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-23 17:55 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06

- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architecture, (x86_64-glibc)


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

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

From 957dc230d2f6e126c6adb42c05dbadf741cc5078 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  28 +++
 2 files changed, 452 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..2800960a3f40
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,28 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+make_cmd=make
+configure_args="-Dgnuinstall=ON -DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dimt=OFF"
+	;;
+esac
+hostmakedepends="git cmake"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel tbb-devel $(vopt_if pyroot 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran)"
+depends="gcc"
+build_options="pyroot fortran"
+build_options_default=$build_options
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (7 preceding siblings ...)
  2021-12-23 17:55 ` [PR PATCH] [Updated] " BenJarg
@ 2021-12-24  0:17 ` BenJarg
  2021-12-30 18:25 ` [PR PATCH] [Updated] " BenJarg
                   ` (94 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-24  0:17 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1000437927

Comment:
@balejk  Thanks! I think I'll follow your lead and add a few of those things to my template. Good to see it is possible to get it to compile with musl; thanks for the help.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (8 preceding siblings ...)
  2021-12-24  0:17 ` BenJarg
@ 2021-12-30 18:25 ` BenJarg
  2021-12-30 22:22 ` Chocimier
                   ` (93 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-30 18:25 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 7dad21186d3d8d9c56dadff31bde4aab90394f1d Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  28 +++
 2 files changed, 452 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..925b6ffa7c7d
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,28 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+make_cmd=make
+configure_args="-Dgnuinstall=ON -DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dimt=OFF"
+	;;
+esac
+hostmakedepends="git cmake"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel tbb-devel $(vopt_if pyroot 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran)"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="pyroot fortran"
+build_options_default=$build_options
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (9 preceding siblings ...)
  2021-12-30 18:25 ` [PR PATCH] [Updated] " BenJarg
@ 2021-12-30 22:22 ` Chocimier
  2021-12-31  2:27 ` [PR PATCH] [Updated] " BenJarg
                   ` (92 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2021-12-30 22:22 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003199381

Comment:
> builtin_afterimage builtin_clang builtin_cling builtin_llvm builtin_lz4 builtin_lzma builtin_nlohmannjson builtin_openui5 builtin_pcre builtin_vdt builtin_xxhash builtin_zstd

As much of system libraries as possible should be used.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (10 preceding siblings ...)
  2021-12-30 22:22 ` Chocimier
@ 2021-12-31  2:27 ` BenJarg
  2021-12-31  2:40 ` BenJarg
                   ` (91 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-31  2:27 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From b5fcc1b3332acd1a52fb1d5214f5561e7d53f387 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  28 +++
 2 files changed, 452 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..3ad4474b9e9e
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,28 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+make_cmd=make
+configure_args="-Dgnuinstall=ON -DCMAKE_INSTALL_MANDIR=share/man -DCMAKE_INSTALL_PREFIX=/usr -Druntime_cxxmodules=OFF -Dxrootd=OFF"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dimt=OFF"
+	;;
+esac
+hostmakedepends="git cmake"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel $(vopt_if pyroot 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran)"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="pyroot fortran"
+build_options_default=$build_options
+python_version=3
+
+export CMAKE_GENERATOR="Unix Makefiles"

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (11 preceding siblings ...)
  2021-12-31  2:27 ` [PR PATCH] [Updated] " BenJarg
@ 2021-12-31  2:40 ` BenJarg
  2022-01-02 21:24 ` balejk
                   ` (90 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2021-12-31  2:40 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003245803

Comment:
@Chocimier Ah ok, I updated this to stop using all builtin libraries except afterimage, nlohmannjson, and openui5, which don't seem to have corresponding packages in xbps-src. Another, cling, is part of root, and it seems to be picky about clang and llvm versions it uses, not wanting to use vanilla releases; the preferred build method seems to be using these bundled versions.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (12 preceding siblings ...)
  2021-12-31  2:40 ` BenJarg
@ 2022-01-02 21:24 ` balejk
  2022-01-02 21:34 ` balejk
                   ` (89 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-02 21:24 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003777614

Comment:
I believe specifying `cmake` as `hostmakedepends` is unnecessary with the selected build style. I also think that it should suffice to use the `gnuinstall` option, installation and mandir prefixes should be set accordingly automatically.

Making using `ninja` worked fine for me, so I see no reason to override it to use `make` - do you have one?

Have you tried cross-building for any other architecture? These two might be the only officially supported ones, but that does not necessarily mean that it won't work on any other.

And have you disabled the `xrootd` option globally on purpose or did you mean to do it just for musl where it won't build? Also, I see that you have set TBB as a dependency - with that, it might be possible to make `imt` available for musl as well, as the compilation is failing there because of the builtin TBB. I believe `cmake` should detect system TBB automatically if you remove `imt=OFF`. Will you be able to try it?

Last thing that comes to mind is that it might be nice to add a `build_option` for the R bindings (preferably disabled by default though).

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (13 preceding siblings ...)
  2022-01-02 21:24 ` balejk
@ 2022-01-02 21:34 ` balejk
  2022-01-02 23:33 ` BenJarg
                   ` (88 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-02 21:34 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003777614

Comment:
Just a few ideas:

I believe specifying `cmake` as `hostmakedepends` is unnecessary with the selected build style. I also think that it should suffice to use the `gnuinstall` option, installation and mandir prefixes should be set accordingly automatically.

Making using `ninja` worked fine for me, so I see no reason to override it to use `make` - do you have one?

Have you tried cross-building for any other architecture? These two might be the only officially supported ones, but that does not necessarily mean that it won't work on any other.

And have you disabled the `xrootd` option globally on purpose or did you mean to do it just for musl where it won't build? Also, I see that you have set TBB as a dependency - with that, it might be possible to make `imt` available for musl as well, as the compilation is failing there because of the builtin TBB. I believe `cmake` should detect system TBB automatically if you remove `imt=OFF`. Will you be able to try it?

Last thing that comes to mind is that it might be nice to add a `build_option` for the R bindings (preferably disabled by default though).

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (14 preceding siblings ...)
  2022-01-02 21:34 ` balejk
@ 2022-01-02 23:33 ` BenJarg
  2022-01-03  7:43 ` [PR PATCH] [Updated] " BenJarg
                   ` (87 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-02 23:33 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003795365

Comment:
@balejk Thanks for the feedback!

You're right; I don't need cmake there. And as for the other prefixes, I think I needed them before I added the `gnuinstall` option, but looks like since I added that it works without them, so I'll remove those

At one point I couldn't get it to build right in xbps for some reason with ninja, but it worked with make. Now though looks like I don't have that same issue anymore, so I'll have it use ninja. 

I briefly tried building for ARM but I ran into a number of issues, and then I read that to get it to compile there, a number of changes need to made. I'm not sure if that is still true, I may need to play around with it more to get it to compile there, but I didn't have it work out of the box and read that it wasn't officially supported so I only listed the officially supported architectures.

I disabled `xrootd` globally because I thought a better solution to ROOT building it would be having it as its own package that ROOT depends on (and thought about throwing that package together), but until there is I'll only disable it for musl (it looks like I need to add the versioned `xrootd` libraries to shlibs for that to work also, so I'll do that). I'm rebuilding on a musl system now with `imt` enabled and the other above changes, so hopefully that will work.

And the R bindings build option would be sensible, so I'll add that as well. 

Once I add the above (and see that the musl compilation works with those changes), I'll force push them.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (15 preceding siblings ...)
  2022-01-02 23:33 ` BenJarg
@ 2022-01-03  7:43 ` BenJarg
  2022-01-03  8:30 ` BenJarg
                   ` (86 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-03  7:43 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 49414c92c3c6537ea875f467a7a659b81a00396b Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 common/shlibs                   |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  26 ++
 3 files changed, 453 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 999d3ad714b8..c8cbd02b407a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,6 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..f4aa692d798c
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,26 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+make_cmd=ninja
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+esac
+hostmakedepends="git"
+makedepends="binutils libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel $(vopt_if pyroot 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran)"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="pyroot fortran"
+build_options_default=$build_options
+python_version=3

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (16 preceding siblings ...)
  2022-01-03  7:43 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-03  8:30 ` BenJarg
  2022-01-03  9:22 ` balejk
                   ` (85 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-03  8:30 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003936386

Comment:
I added all the changes except the option for the R bindings, as one of the required R packages to build them isn't in xpbs (RInside, as far as I can tell anyway).

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (17 preceding siblings ...)
  2022-01-03  8:30 ` BenJarg
@ 2022-01-03  9:22 ` balejk
  2022-01-03  9:55 ` [PR PATCH] [Updated] " BenJarg
                   ` (84 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-03  9:22 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003962123

Comment:
[I believe](http://rcpp.org/) RInside should be part of Rcpp (`R-cran-Rcpp` package in `xbps`).

I believe you don't need to specify `make_cmd=ninja` as that should be the default. Also specifying `binutils` is probably unnecessary as it's a dependency of `gcc`.

Regarding XROOTD, indeed it would be better to package it separately and use that (if you got it working on musl, you could even remove the libc restriction), however you still wouldn't want to set `xrootd=OFF`, because if I'm not mistaken, that disables XROOTD completely (both the builtin one and the system one).

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (18 preceding siblings ...)
  2022-01-03  9:22 ` balejk
@ 2022-01-03  9:55 ` BenJarg
  2022-01-03 10:04 ` BenJarg
                   ` (83 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-03  9:55 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From ea70701e96a62266f6629fe17a390f960e03a6c3 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH] New package: root-6.24.06

---
 common/shlibs                   |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  25 ++
 3 files changed, 452 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 999d3ad714b8..c8cbd02b407a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,6 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..b91e258ccf59
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,25 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+esac
+hostmakedepends="git"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel $(vopt_if pyroot 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran)"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="pyroot fortran"
+build_options_default=$build_options
+python_version=3

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (19 preceding siblings ...)
  2022-01-03  9:55 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-03 10:04 ` BenJarg
  2022-01-03 10:06 ` BenJarg
                   ` (82 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-03 10:04 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003984150

Comment:
@balejk Thanks, I made those adjustments.

As for the R bindings, I've tried adding both `R` and `R-cran-Rcpp` to `makedepends`, and `Dr=ON` in `configure_args`, but still get the error in CMake:
`-- Looking for R
-- Could NOT find R (missing: RInside) 
-- R installation not found. Set variable R_DIR to point to your R installation
-- For the time being switching OFF 'r' option`
so it seems like it's finding the other R components, but not `RInside`. Perhaps I need to point it to it manually?

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (20 preceding siblings ...)
  2022-01-03 10:04 ` BenJarg
@ 2022-01-03 10:06 ` BenJarg
  2022-01-03 11:03 ` balejk
                   ` (81 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-03 10:06 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1003984150

Comment:
@balejk Thanks, I made those adjustments.

As for the R bindings, I've tried adding both `R` and `R-cran-Rcpp` to `makedepends`, and `Dr=ON` in `configure_args`, but still get the error in CMake:
```
-- Looking for R
-- Could NOT find R (missing: RInside) 
-- R installation not found. Set variable R_DIR to point to your R installation
-- For the time being switching OFF 'r' option
```
so it seems like it's finding the other R components, but not `RInside`. Perhaps I need to point it to it manually?

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (21 preceding siblings ...)
  2022-01-03 10:06 ` BenJarg
@ 2022-01-03 11:03 ` balejk
  2022-01-03 11:04 ` balejk
                   ` (80 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-03 11:03 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1004016197

Comment:
Never mind, it seems it's really not part of `xbps`. On the other hand, it should be fairly easy to package it if you were interested as `xbps` is able to fetch packages from CRAN automatically. Or it might be worth asking @wagnerflo or @luhann whether they would do it as they seem to maintain most of the R related packages in `xbps`.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (22 preceding siblings ...)
  2022-01-03 11:03 ` balejk
@ 2022-01-03 11:04 ` balejk
  2022-01-05  2:53 ` [PR PATCH] [Updated] " BenJarg
                   ` (79 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-03 11:04 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1004016197

Comment:
Never mind, it seems it's really not part of `xbps`. On the other hand, it should be fairly easy to package it if you were interested as `xbps` is able to fetch packages from CRAN automatically. Or it might be worth asking @wagnerflo or @luhann whether they would do it as they seem to maintain most of the R related packages in Void.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (23 preceding siblings ...)
  2022-01-03 11:04 ` balejk
@ 2022-01-05  2:53 ` BenJarg
  2022-01-05  3:00 ` BenJarg
                   ` (78 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-05  2:53 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From b7885b0c80193f7d061028d340d3bb680e53a08e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/2] New package: R-cran-RInside-0.2.16

---
 srcpkgs/R-cran-RInside/template | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..4f4f371d906c
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,11 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e

From 2c308788f2a2ec1fa549006f3e6610bb05ce1aa0 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 2/2] New package: root-6.24.06

---
 common/shlibs                   |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  25 ++
 3 files changed, 452 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 999d3ad714b8..c8cbd02b407a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,6 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..a53d78ac0916
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,25 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF $(vopt_if r '-Dr=ON')"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+esac
+hostmakedepends="git"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel $(vopt_if pyroot 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran) $(vopt_if r 'R-cran-Rcpp R-cran-RInside')"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="pyroot fortran r"
+build_options_default="pyroot fortran"
+python_version=3

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (24 preceding siblings ...)
  2022-01-05  2:53 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-05  3:00 ` BenJarg
  2022-01-05 14:37 ` balejk
                   ` (77 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-05  3:00 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1005340511

Comment:
@balejk You're right, CRAN packages are easy to package, so I added `R-cran-RInside` as a new package to this PR (which I think is ok to do in one PR if one package is a dependency of the other, but I'm new to this so let me know if it's not).

Both packages build, but at the end of building ROOT it complains for me that it can't resolve `libRInside.so`(which is from `R-cran-RInside`), which I think is normal because `R-cran-RInside` isn't in xbps yet. I can temporarily fix it by adding `libRInside.so` to shlibs. Again, I'm new to xbps, so someone tell me if there's something else I need to do about that.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (25 preceding siblings ...)
  2022-01-05  3:00 ` BenJarg
@ 2022-01-05 14:37 ` balejk
  2022-01-05 20:50 ` [PR PATCH] [Updated] " BenJarg
                   ` (76 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-05 14:37 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1005740774

Comment:
Great! Yes, I believe putting all the related packages in one PR is fine.

I just found out that there are some predefined build options in `xbps` (see [here](https://github.com/void-linux/void-packages/blob/master/common/options.description)), so it would probably make sense to rename the `pyroot` option to `python`.

Regarding the `libRInside.so` problem, does it help if you specify the relevant `R` packages in `depends` (without having them in `shlibs`)?

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (26 preceding siblings ...)
  2022-01-05 14:37 ` balejk
@ 2022-01-05 20:50 ` BenJarg
  2022-01-05 20:57 ` BenJarg
                   ` (75 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-05 20:50 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From b7885b0c80193f7d061028d340d3bb680e53a08e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/2] New package: R-cran-RInside-0.2.16

---
 srcpkgs/R-cran-RInside/template | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..4f4f371d906c
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,11 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e

From 1d3b3b7a9d385056644656a270e77206933e7690 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 2/2] New package: root-6.24.06

---
 common/shlibs                   |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  25 ++
 3 files changed, 452 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 999d3ad714b8..c8cbd02b407a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,6 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..a98cfd29a2d2
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,25 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF $(vopt_if r '-Dr=ON')"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+esac
+hostmakedepends="git"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel $(vopt_if python 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran) $(vopt_if r 'R-cran-Rcpp R-cran-RInside')"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="python fortran r"
+build_options_default="python fortran"
+python_version=3

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (27 preceding siblings ...)
  2022-01-05 20:50 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-05 20:57 ` BenJarg
  2022-01-06 23:35 ` BenJarg
                   ` (74 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-05 20:57 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1006071070

Comment:
@balejk Good point, changed pyroot -> python.

And no, I've tried that and it doesn't seem like that changes anything. Still get:
```
SONAME: libRInside.so <-> UNKNOWN PKG PLEASE FIX!
```
I can fix it building in xbps-src by adding it to shlibs, but it still won't install with `xbps-install`, complaining about that library being missing or broken.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (28 preceding siblings ...)
  2022-01-05 20:57 ` BenJarg
@ 2022-01-06 23:35 ` BenJarg
  2022-01-07 22:06 ` [PR PATCH] [Updated] " BenJarg
                   ` (73 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-06 23:35 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1007013832

Comment:
This issue may be because libraries for CRAN packages usually are just supposed to be used by R and not used directly by other things, so `libRInside.so` has no soname, i.e. `readelf -d libRInside.so | grep SONAME` doesn't give anything. `libR.so` seems to have this same issue (of package `R`), and I believe this is why `libR.so` is specified in `common/shlibs` even though it isn't versioned. I can resolve these issues by building against the static version of this library instead, but that would probably be an unsatisfactory solution.  

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (29 preceding siblings ...)
  2022-01-06 23:35 ` BenJarg
@ 2022-01-07 22:06 ` BenJarg
  2022-01-07 22:09 ` BenJarg
                   ` (72 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-07 22:06 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From cf3ba0dac97aa32adfcdaf676534ff07d7cdefd9 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/2] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 999d3ad714b8..6307602fec1b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From 0aff4e2e3404cc9c534532b3b59b90ac43d7f8da Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 2/2] New package: root-6.24.06

---
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  25 ++
 2 files changed, 449 insertions(+)
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..a98cfd29a2d2
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,25 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF $(vopt_if r '-Dr=ON')"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+esac
+hostmakedepends="git"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel $(vopt_if python 'python3-devel python3-numpy') $(vopt_if fortran gcc-fortran) $(vopt_if r 'R-cran-Rcpp R-cran-RInside')"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="python fortran r"
+build_options_default="python fortran"
+python_version=3

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (30 preceding siblings ...)
  2022-01-07 22:06 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-07 22:09 ` BenJarg
  2022-01-10 18:29 ` Chocimier
                   ` (71 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-07 22:09 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1007775610

Comment:
Ok, think everything is sorted out now. `libRInside.so` needs to be in shlibs like `libR.so` to be seen right by xbps-src. And everything is found correctly by xbps-install by using `shlib_provides` in the `R-cran-RInside` template.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (31 preceding siblings ...)
  2022-01-07 22:09 ` BenJarg
@ 2022-01-10 18:29 ` Chocimier
  2022-01-10 21:10 ` balejk
                   ` (70 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-10 18:29 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1009214369

Comment:
I like it overall, but:

- fetching additional code with git is bad, use additional distfiles
- libraries here are not meant for sharing, thus should not be put into /usr/lib but /usr/lib/root or similar, and (unless required for bindings, see below) should not be put into common/shlibs
- python and R bindings would preferably be subpackages rather than build options
- importing python modules from system interpreter doesn't work, they should be put into $py3_sitelib
- some fonts are nonfree shouldn't be packaged
- /usr/etc is a strange location

libRInside.so in common/shlibs looks fine

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (32 preceding siblings ...)
  2022-01-10 18:29 ` Chocimier
@ 2022-01-10 21:10 ` balejk
  2022-01-11 23:25 ` [PR PATCH] [Updated] " BenJarg
                   ` (69 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-10 21:10 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1009345648

Comment:
Regarding the first point, it might be preferable to create individual packages for the respective components where it makes sense.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (33 preceding siblings ...)
  2022-01-10 21:10 ` balejk
@ 2022-01-11 23:25 ` BenJarg
  2022-01-11 23:38 ` BenJarg
                   ` (68 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-11 23:25 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 6272ad709b8806bbc4eaea6f9d2207415af9c52b Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index f5e92014becc..1c4808a4d674 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From 0c203a991445cb622c3f5d7ad8f7de4df45075dd Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 12 ++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index 1c4808a4d674..b24a9b5bdb9d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4101,3 +4101,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..28169fa7bdc2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,12 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://root.cern"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From d74f5fa33179eb483f8ff8a2fff15c9f53ad31f2 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..5ee09551cf29
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,21 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+makedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From f189cf5b2f0f996b23cbdafdd5a2fc24ef6a4147 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  82 ++++++
 5 files changed, 511 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..05c0d055f269
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source root/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..e93825c7ff46
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,82 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dr=ON $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+esac
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel xrootd libvdt-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/libRInterface.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (34 preceding siblings ...)
  2022-01-11 23:25 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-11 23:38 ` BenJarg
  2022-01-11 23:39 ` BenJarg
                   ` (67 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-11 23:38 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1010464534

Comment:
@Chocimier Thanks for the feedback! I made the some changes:

-  I made the two packages which the make process downloads into destinct packages: xrootd and libvdt. All the other packages come with the ROOT source (if I followed the documentation correctly).
- It seems the libraries are needed by the R and Python bindings. But it also installs a bunch of other stuff with the .so files not directly needed by the bindings I don't think, so perhaps there's a way I can put some of the stuff into a designated directory, but it seems to all use the same CMake lib install directory.
- I made R and Python bindings subpackages. But now I get some issue with sonames not being found by the subpackages:
```
=> python3-pyroot-6.24.06_1: running pre-pkg hook: 04-generate-runtime-deps ...
   SONAME: libCore.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libstdc++.so.6 <-> libstdc++>=4.4.0_1
   SONAME: libgcc_s.so.1 <-> libgcc>=4.4.0_1
   SONAME: libpthread.so.0 <-> glibc>=2.32_1
   SONAME: libc.so.6 <-> glibc>=2.32_1
   SONAME: libTree.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy3_10.so <-> python3-pyroot (ignored)
   SONAME: libRIO.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy_backend3_10.so <-> python3-pyroot (ignored)
=> ERROR: python3-pyroot-6.24.06_1: cannot guess required shlibs, aborting!
"
Where the libraries it can't find are provided by ROOT itself and installed into "/usr/lib". I'm pretty confused by this.
- The python bindings aren't put into the usual system python path, but that's set up when sourcing the "/usr/bin/thisroot.sh" which you need to do being using ROOT. I also added a "INSTALL.msg" saying that since it's not obvious. But it would make more sense for it to go there, so I send it to python site-packages now
- I missed the non-free fonts. Now I remove the Microsoft fonts and their license as a post_install. I have no idea if there is a more standard way to do that; let me know if there is.
- Yeah, it puts stuff in the "etc" directory of the install prefix, which is set to "/usr", so that's why it goes to "/usr/etc". Not sure if there is a way to override that in CMAKE? Or just move it manually?

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (35 preceding siblings ...)
  2022-01-11 23:38 ` BenJarg
@ 2022-01-11 23:39 ` BenJarg
  2022-01-11 23:39 ` BenJarg
                   ` (66 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-11 23:39 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1010464534

Comment:
@Chocimier Thanks for the feedback! I made the some changes:

-  I made the two packages which the make process downloads into destinct packages: xrootd and libvdt. All the other packages come with the ROOT source (if I followed the documentation correctly).
- It seems the libraries are needed by the R and Python bindings. But it also installs a bunch of other stuff with the .so files not directly needed by the bindings I don't think, so perhaps there's a way I can put some of the stuff into a designated directory, but it seems to all use the same CMake lib install directory.
- I made R and Python bindings subpackages. But now I get some issue with sonames not being found by the subpackages:
```
=> python3-pyroot-6.24.06_1: running pre-pkg hook: 04-generate-runtime-deps ...
   SONAME: libCore.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libstdc++.so.6 <-> libstdc++>=4.4.0_1
   SONAME: libgcc_s.so.1 <-> libgcc>=4.4.0_1
   SONAME: libpthread.so.0 <-> glibc>=2.32_1
   SONAME: libc.so.6 <-> glibc>=2.32_1
   SONAME: libTree.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy3_10.so <-> python3-pyroot (ignored)
   SONAME: libRIO.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy_backend3_10.so <-> python3-pyroot (ignored)
=> ERROR: python3-pyroot-6.24.06_1: cannot guess required shlibs, aborting!
'''
Where the libraries it can't find are provided by ROOT itself and installed into "/usr/lib". I'm pretty confused by this.
- The python bindings aren't put into the usual system python path, but that's set up when sourcing the "/usr/bin/thisroot.sh" which you need to do being using ROOT. I also added a "INSTALL.msg" saying that since it's not obvious. But it would make more sense for it to go there, so I send it to python site-packages now
- I missed the non-free fonts. Now I remove the Microsoft fonts and their license as a post_install. I have no idea if there is a more standard way to do that; let me know if there is.
- Yeah, it puts stuff in the "etc" directory of the install prefix, which is set to "/usr", so that's why it goes to "/usr/etc". Not sure if there is a way to override that in CMAKE? Or just move it manually?

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (36 preceding siblings ...)
  2022-01-11 23:39 ` BenJarg
@ 2022-01-11 23:39 ` BenJarg
  2022-01-11 23:39 ` BenJarg
                   ` (65 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-11 23:39 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1010464534

Comment:
@Chocimier Thanks for the feedback! I made the some changes:

-  I made the two packages which the make process downloads into destinct packages: xrootd and libvdt. All the other packages come with the ROOT source (if I followed the documentation correctly).
- It seems the libraries are needed by the R and Python bindings. But it also installs a bunch of other stuff with the .so files not directly needed by the bindings I don't think, so perhaps there's a way I can put some of the stuff into a designated directory, but it seems to all use the same CMake lib install directory.
- I made R and Python bindings subpackages. But now I get some issue with sonames not being found by the subpackages:
```
=> python3-pyroot-6.24.06_1: running pre-pkg hook: 04-generate-runtime-deps ...
   SONAME: libCore.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libstdc++.so.6 <-> libstdc++>=4.4.0_1
   SONAME: libgcc_s.so.1 <-> libgcc>=4.4.0_1
   SONAME: libpthread.so.0 <-> glibc>=2.32_1
   SONAME: libc.so.6 <-> glibc>=2.32_1
   SONAME: libTree.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy3_10.so <-> python3-pyroot (ignored)
   SONAME: libRIO.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy_backend3_10.so <-> python3-pyroot (ignored)
=> ERROR: python3-pyroot-6.24.06_1: cannot guess required shlibs, aborting!
```
Where the libraries it can't find are provided by ROOT itself and installed into "/usr/lib". I'm pretty confused by this.
- The python bindings aren't put into the usual system python path, but that's set up when sourcing the "/usr/bin/thisroot.sh" which you need to do being using ROOT. I also added a "INSTALL.msg" saying that since it's not obvious. But it would make more sense for it to go there, so I send it to python site-packages now
- I missed the non-free fonts. Now I remove the Microsoft fonts and their license as a post_install. I have no idea if there is a more standard way to do that; let me know if there is.
- Yeah, it puts stuff in the "etc" directory of the install prefix, which is set to "/usr", so that's why it goes to "/usr/etc". Not sure if there is a way to override that in CMAKE? Or just move it manually?

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (37 preceding siblings ...)
  2022-01-11 23:39 ` BenJarg
@ 2022-01-11 23:39 ` BenJarg
  2022-01-12  8:35 ` balejk
                   ` (64 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-11 23:39 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1010464534

Comment:
@Chocimier Thanks for the feedback! I made the some changes:

-  I made the two packages which the make process downloads into destinct packages: xrootd and libvdt. All the other packages come with the ROOT source (if I followed the documentation correctly).
- It seems the libraries are needed by the R and Python bindings. But it also installs a bunch of other stuff with the .so files not directly needed by the bindings I don't think, so perhaps there's a way I can put some of the stuff into a designated directory, but it seems to all use the same CMake lib install directory.
- I made R and Python bindings subpackages. But now I get some issue with sonames not being found by the subpackages:
```
=> python3-pyroot-6.24.06_1: running pre-pkg hook: 04-generate-runtime-deps ...
   SONAME: libCore.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libstdc++.so.6 <-> libstdc++>=4.4.0_1
   SONAME: libgcc_s.so.1 <-> libgcc>=4.4.0_1
   SONAME: libpthread.so.0 <-> glibc>=2.32_1
   SONAME: libc.so.6 <-> glibc>=2.32_1
   SONAME: libTree.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy3_10.so <-> python3-pyroot (ignored)
   SONAME: libRIO.so <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libcppyy_backend3_10.so <-> python3-pyroot (ignored)
=> ERROR: python3-pyroot-6.24.06_1: cannot guess required shlibs, aborting!
```
where the libraries it can't find are provided by ROOT itself and installed into "/usr/lib". I'm pretty confused by this.
- The python bindings aren't put into the usual system python path, but that's set up when sourcing the "/usr/bin/thisroot.sh" which you need to do being using ROOT. I also added a "INSTALL.msg" saying that since it's not obvious. But it would make more sense for it to go there, so I send it to python site-packages now
- I missed the non-free fonts. Now I remove the Microsoft fonts and their license as a post_install. I have no idea if there is a more standard way to do that; let me know if there is.
- Yeah, it puts stuff in the "etc" directory of the install prefix, which is set to "/usr", so that's why it goes to "/usr/etc". Not sure if there is a way to override that in CMAKE? Or just move it manually?

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (38 preceding siblings ...)
  2022-01-11 23:39 ` BenJarg
@ 2022-01-12  8:35 ` balejk
  2022-01-13  2:48 ` [PR PATCH] [Updated] " BenJarg
                   ` (63 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: balejk @ 2022-01-12  8:35 UTC (permalink / raw)
  To: ml

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

New comment by balejk on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1010774234

Comment:
> Yeah, it puts stuff in the "etc" directory of the install prefix, which is set to "/usr", so that's why it goes to "/usr/etc". Not sure if there is a way to override that in CMAKE? Or just move it manually?

You can find the supported CMake variables [here](https://root.cern/install/build_from_source/#relevant-cmake-variables), I believe you are looking for `CMAKE_INSTALL_SYSCONFDIR`.

Based on [this](https://root.cern/install/build_from_source/#all-build-options) (expand `build options for ROOT 6.24`) I would say that there are more components which are downloaded automatically if no system version is found and some of them (such as `davix`) are enabled by default, however if I understand it correctly, git is not used for for example `davix` - this component in particular is fetched by CMake and checked against a checksum, so perhaps that's acceptable? I haven't checked the other components' download method.

Have you tried to build this on musl? Does the new version of xrootd build there? If not, you should probably restrict it to non-musl architectures in the template. Also, you probably have a wrong `homepage` set for the `xrootd` package.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (39 preceding siblings ...)
  2022-01-12  8:35 ` balejk
@ 2022-01-13  2:48 ` BenJarg
  2022-01-13  2:53 ` BenJarg
                   ` (62 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-13  2:48 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 70ab93b1302505a15f1264e4df805786a444f431 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ebbd48a3d84c..774b7acf29ef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From f47f6e88108c9f37561abaa8caad75e3daa2d348 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index 774b7acf29ef..613a4f322b66 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4101,3 +4101,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From 05d68696ce9558345d6df653fcebf8582741259f Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..5ee09551cf29
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,21 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+makedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 46f4a181cd387bfeec07c62ffacbeda7edd77bac Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  85 +++++++
 5 files changed, 514 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..05c0d055f269
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source root/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..b11189dc54f5
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,85 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dr=ON $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/libRInterface.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (40 preceding siblings ...)
  2022-01-13  2:48 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-13  2:53 ` BenJarg
  2022-01-13  5:00 ` [PR PATCH] [Updated] " BenJarg
                   ` (61 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-13  2:53 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1011718978

Comment:
@balejk Thanks for pointing that out; I was only looking in the "builtin" options so I didn't see there are other things it may download. Also, right, it now installs stuff to "/etc/root/" instead.

Lastly, I forgot about the xrootd on musl problem. I just now tried to build it on a musl machine, and looks like it still doesn't build, so I restricted xrootd to glibc.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (41 preceding siblings ...)
  2022-01-13  2:53 ` BenJarg
@ 2022-01-13  5:00 ` BenJarg
  2022-01-13  5:06 ` BenJarg
                   ` (60 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-13  5:00 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 70ab93b1302505a15f1264e4df805786a444f431 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ebbd48a3d84c..774b7acf29ef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From f47f6e88108c9f37561abaa8caad75e3daa2d348 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index 774b7acf29ef..613a4f322b66 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4101,3 +4101,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From da62e3b1abf34edfdb93a691364378f08d3b90d0 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..28e8e4d87931
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,24 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+make_cmd=make
+configure_args="-DSSE=OFF -DNEON=OFF"
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+export CMAKE_GENERATOR="Unix Makefiles"
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From ba197bb2226b4e25b0c4487ba0187c62689d273a Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  85 +++++++
 5 files changed, 514 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..05c0d055f269
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source root/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..b11189dc54f5
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,85 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dr=ON $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/libRInterface.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (42 preceding siblings ...)
  2022-01-13  5:00 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-13  5:06 ` BenJarg
  2022-01-13  5:10 ` [PR PATCH] [Updated] " BenJarg
                   ` (59 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-13  5:06 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1011800363

Comment:
libvdt on ARM architectures seemed to have some dopey issue where it wouldn't build with ninja, but it builds no problem with make (which I found after some trial and error). So I changed that. The ROOT subpackages are still complaining about some issue of not finding the sonames from the main ROOT package, so if the reason why seems obvious to anyone, let me know.  

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (43 preceding siblings ...)
  2022-01-13  5:06 ` BenJarg
@ 2022-01-13  5:10 ` BenJarg
  2022-01-13  6:09 ` BenJarg
                   ` (58 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-13  5:10 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 70ab93b1302505a15f1264e4df805786a444f431 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ebbd48a3d84c..774b7acf29ef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From f47f6e88108c9f37561abaa8caad75e3daa2d348 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index 774b7acf29ef..613a4f322b66 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4101,3 +4101,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From da62e3b1abf34edfdb93a691364378f08d3b90d0 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..28e8e4d87931
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,24 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+make_cmd=make
+configure_args="-DSSE=OFF -DNEON=OFF"
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+export CMAKE_GENERATOR="Unix Makefiles"
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From ba197bb2226b4e25b0c4487ba0187c62689d273a Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  85 +++++++
 5 files changed, 514 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..05c0d055f269
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source root/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..b11189dc54f5
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,85 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dr=ON $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/libRInterface.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (44 preceding siblings ...)
  2022-01-13  5:10 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-13  6:09 ` BenJarg
  2022-01-17  7:32 ` BenJarg
                   ` (57 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-13  6:09 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From ee03986892b73e97af5235a4ee635dd71a2f68a4 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ebbd48a3d84c..774b7acf29ef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4097,3 +4097,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From eaa10adff7cb75b3f43dac61ee7404d0ec3a0191 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index 774b7acf29ef..613a4f322b66 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4101,3 +4101,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From e5d5f0a46c8fea042d23770cb983df8d1b6670a2 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 53f737574b6dbd5e3279456df528ff4ca725b73c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |   3 -
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  85 +++++++
 6 files changed, 514 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 613a4f322b66..fe660040c498 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4098,9 +4098,6 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..05c0d055f269
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source root/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..b11189dc54f5
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,85 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dr=ON $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/libRInterface.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (45 preceding siblings ...)
  2022-01-13  6:09 ` BenJarg
@ 2022-01-17  7:32 ` BenJarg
  2022-01-17  7:33 ` BenJarg
                   ` (56 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-17  7:32 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From e842747c928d062f9d10b96b03354109e11c229c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index b07e14379e28..d0ddd689abf3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4098,3 +4098,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From deac9f9828cf87bdc76b8acd65a69d6d02ec1b74 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index d0ddd689abf3..5d06be1c27c5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4102,3 +4102,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From afa5e5eb34ef672a59e96b35c3515ca426d9b1fe Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 51bdbc4e0791e1bfa013213e3b44821f0c20e177 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  88 +++++++
 6 files changed, 524 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 5d06be1c27c5..b5116512b83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4099,9 +4099,6 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4110,3 +4107,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..6aecf9961a12
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,88 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dr=ON $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (46 preceding siblings ...)
  2022-01-17  7:32 ` BenJarg
@ 2022-01-17  7:33 ` BenJarg
  2022-01-18  0:13 ` [PR PATCH] [Updated] " BenJarg
                   ` (55 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-17  7:33 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1014220381

Comment:
Seems I had to add certain base libraries required by the subpackages to shlibs. Everything builds and installs properly now.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (47 preceding siblings ...)
  2022-01-17  7:33 ` BenJarg
@ 2022-01-18  0:13 ` BenJarg
  2022-01-18  0:14 ` BenJarg
                   ` (54 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-18  0:13 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From e842747c928d062f9d10b96b03354109e11c229c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index b07e14379e28..d0ddd689abf3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4098,3 +4098,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From deac9f9828cf87bdc76b8acd65a69d6d02ec1b74 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index d0ddd689abf3..5d06be1c27c5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4102,3 +4102,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From afa5e5eb34ef672a59e96b35c3515ca426d9b1fe Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From d6795c0dac5d19894918134b73efc75b35178b60 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  90 +++++++
 6 files changed, 526 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 5d06be1c27c5..b5116512b83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4099,9 +4099,6 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4110,3 +4107,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..7dec474e1899
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,90 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd R-cran-Rcpp R-cran-RInside"
+	configure_args+=" -Dr=ON"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	archs="~*-musl"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (48 preceding siblings ...)
  2022-01-18  0:13 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-18  0:14 ` BenJarg
  2022-01-18  1:38 ` [PR PATCH] [Updated] " BenJarg
                   ` (53 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-18  0:14 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1014967392

Comment:
Also, I had to restrict the `root-R` subpackage to glibc only because `R-cran-Rcpp` has a header file which the R part uses to compile that contains `#  include <execinfo.h>` which is only available on glibc.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (49 preceding siblings ...)
  2022-01-18  0:14 ` BenJarg
@ 2022-01-18  1:38 ` BenJarg
  2022-01-20 20:40 ` Chocimier
                   ` (52 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-18  1:38 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 939a2e866bc2e203d8d93e9a183ff0e4e55d669a Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index b07e14379e28..d0ddd689abf3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4098,3 +4098,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From cdba40a528957a25b192d5e5cc1ba9555944b28d Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index d0ddd689abf3..5d06be1c27c5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4102,3 +4102,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From 226ebe2cb7c1e968a012b890121d2835579bed0e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 4cb9ed2e1512ac7fdf587620f8796b8cda3bd388 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  94 +++++++
 6 files changed, 530 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 5d06be1c27c5..b5116512b83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4099,9 +4099,6 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4110,3 +4107,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..36246a8da401
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,94 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="git gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd R-cran-Rcpp R-cran-RInside"
+	configure_args+=" -Dr=ON"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so libTMVA.so libMathCore.so"
+subpackages="python3-pyroot"
+
+if [ "$XBPS_TARGET_LIBC" != "musl" ]; then
+	subpackages+=" root-R"
+fi
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (50 preceding siblings ...)
  2022-01-18  1:38 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-20 20:40 ` Chocimier
  2022-01-21  3:47 ` [PR PATCH] [Updated] " BenJarg
                   ` (51 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-20 20:40 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1017909577

Comment:
clad is still fetched during build, that needs to be fixed. git should be removed from build depends entirely.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (51 preceding siblings ...)
  2022-01-20 20:40 ` Chocimier
@ 2022-01-21  3:47 ` BenJarg
  2022-01-21  4:09 ` BenJarg
                   ` (50 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-21  3:47 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 939a2e866bc2e203d8d93e9a183ff0e4e55d669a Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index b07e14379e28..d0ddd689abf3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4098,3 +4098,7 @@ libkmailconfirmbeforedeleting.so.5 kdepim-addons-21.08.3_1
 libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From cdba40a528957a25b192d5e5cc1ba9555944b28d Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index d0ddd689abf3..5d06be1c27c5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4102,3 +4102,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From 226ebe2cb7c1e968a012b890121d2835579bed0e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 53f0e4f54a578b028554a6322a483506f1335a00 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  94 +++++++
 6 files changed, 530 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index 5d06be1c27c5..b5116512b83f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4099,9 +4099,6 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4110,3 +4107,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..2d69203d5ea8
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,94 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF -Dclad=OFF $(vopt_if fortran '-Dfortran=ON') -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3 -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -DCMAKE_INSTALL_SYSCONFDIR='../etc/root' -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel python3-devel python3-numpy"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd R-cran-Rcpp R-cran-RInside"
+	configure_args+=" -Dr=ON"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default=$build_options
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so libTMVA.so libMathCore.so"
+subpackages="python3-pyroot"
+
+if [ "$XBPS_TARGET_LIBC" != "musl" ]; then
+	subpackages+=" root-R"
+fi
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (52 preceding siblings ...)
  2022-01-21  3:47 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-21  4:09 ` BenJarg
  2022-01-28 18:31 ` [PR REVIEW] " Chocimier
                   ` (49 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-21  4:09 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1018156776

Comment:
@Chocimier Right, to remove this problem, I turned off clad and now I could remove git with it still compiling. 

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (54 preceding siblings ...)
  2022-01-28 18:31 ` [PR REVIEW] " Chocimier
@ 2022-01-28 18:31 ` Chocimier
  2022-01-28 18:31 ` Chocimier
                   ` (47 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-28 18:31 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794755451

Comment:
`pthread_*_np` is kept under `#ifdef __linux__`, should work after patching to `#ifdef __GLIBC__`. It would be worth upstreaming even. Will it enable R on musl too?

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (56 preceding siblings ...)
  2022-01-28 18:31 ` Chocimier
@ 2022-01-28 18:31 ` Chocimier
  2022-01-28 18:31 ` Chocimier
                   ` (45 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-28 18:31 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794756550

Comment:
common/shlibs is correct way to announce shared libs, no need for `shlib_provides=` in templates.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (55 preceding siblings ...)
  2022-01-28 18:31 ` Chocimier
@ 2022-01-28 18:31 ` Chocimier
  2022-01-28 18:31 ` Chocimier
                   ` (46 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-28 18:31 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794757812

Comment:
Expand to `="fortran"`.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (57 preceding siblings ...)
  2022-01-28 18:31 ` Chocimier
@ 2022-01-28 18:31 ` Chocimier
  2022-01-28 20:06 ` BenJarg
                   ` (44 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-28 18:31 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794757495

Comment:
Pleas add `python3` here.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (53 preceding siblings ...)
  2022-01-21  4:09 ` BenJarg
@ 2022-01-28 18:31 ` Chocimier
  2022-01-28 18:31 ` Chocimier
                   ` (48 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-28 18:31 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794758015

Comment:
Wrap lines at approx. 80 columns.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (58 preceding siblings ...)
  2022-01-28 18:31 ` Chocimier
@ 2022-01-28 20:06 ` BenJarg
  2022-01-28 20:33 ` [PR PATCH] [Updated] " BenJarg
                   ` (43 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 20:06 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794856139

Comment:
Hm, when I didn't have that, it built right with xbps-src, but complained about missing, broken libraries when trying to install the subpackages with xbps-install. Maybe because those are in `/usr/lib/ROOT` and not in `/usr/lib`? I could perhaps move just those core libraries required by the subpackages into `/usr/lib`.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (59 preceding siblings ...)
  2022-01-28 20:06 ` BenJarg
@ 2022-01-28 20:33 ` BenJarg
  2022-01-28 20:45 ` [PR REVIEW] " BenJarg
                   ` (42 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 20:33 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 9326cafe9b5ed835047348fe0768348b3cb9e8a8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index edcf9daee61c..f5f11b419292 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4103,3 +4103,7 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From deeb43358c7ae05aa3e86097d17572635e1b9545 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index f5f11b419292..f66ec5da6933 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4107,3 +4107,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From 221a59f07d2504e6292a1b426e85d1fdefe41042 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 16d2bbf6932a76014753e7c1dc55cd32dc04b568 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           | 102 ++++++++
 6 files changed, 538 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index f66ec5da6933..1f8904b9afd2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4104,9 +4104,6 @@ libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4115,3 +4112,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..d76f6b6692e4
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,102 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd R-cran-Rcpp R-cran-RInside"
+	configure_args+=" -Dr=ON"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so libTMVA.so libMathCore.so"
+subpackages="python3-pyroot"
+
+if [ "$XBPS_TARGET_LIBC" != "musl" ]; then
+	subpackages+=" root-R"
+fi
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (60 preceding siblings ...)
  2022-01-28 20:33 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-28 20:45 ` BenJarg
  2022-01-28 21:30 ` [PR PATCH] [Updated] " BenJarg
                   ` (41 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 20:45 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794856139

Comment:
Hm, when I didn't have that, it built right with xbps-src, but complained about missing, broken libraries when trying to install the subpackages with xbps-install. Maybe because those are in `/usr/lib/root` and not in `/usr/lib`? I could perhaps move just those core libraries required by the subpackages into `/usr/lib`.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (61 preceding siblings ...)
  2022-01-28 20:45 ` [PR REVIEW] " BenJarg
@ 2022-01-28 21:30 ` BenJarg
  2022-01-28 21:32 ` [PR REVIEW] " BenJarg
                   ` (40 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 21:30 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 9326cafe9b5ed835047348fe0768348b3cb9e8a8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index edcf9daee61c..f5f11b419292 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4103,3 +4103,7 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From deeb43358c7ae05aa3e86097d17572635e1b9545 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index f5f11b419292..f66ec5da6933 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4107,3 +4107,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From 221a59f07d2504e6292a1b426e85d1fdefe41042 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From a0cf192df78b0ce7475c1b62d66b619d705751b5 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           | 108 ++++++++
 6 files changed, 544 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index f66ec5da6933..1f8904b9afd2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4104,9 +4104,6 @@ libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4115,3 +4112,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..83c61b909f48
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,108 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd R-cran-Rcpp R-cran-RInside"
+	configure_args+=" -Dr=ON"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+subpackages="python3-pyroot"
+
+if [ "$XBPS_TARGET_LIBC" != "musl" ]; then
+	subpackages+=" root-R"
+fi
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+	ln -s ${DESTDIR}/usr/lib/root/libCore.so ${DESTDIR}/usr/lib/
+	ln -s ${DESTDIR}/usr/lib/root/libTree.so ${DESTDIR}/usr/lib/
+	ln -s ${DESTDIR}/usr/lib/root/libRIO.so ${DESTDIR}/usr/lib/
+	ln -s ${DESTDIR}/usr/lib/root/libMatrix.so ${DESTDIR}/usr/lib/
+	ln -s ${DESTDIR}/usr/lib/root/libThread.so ${DESTDIR}/usr/lib/
+	ln -s ${DESTDIR}/usr/lib/root/libTMVA.so ${DESTDIR}/usr/lib/
+	ln -s ${DESTDIR}/usr/lib/root/libMathCore.so ${DESTDIR}/usr/lib/
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (62 preceding siblings ...)
  2022-01-28 21:30 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-28 21:32 ` BenJarg
  2022-01-28 21:38 ` Chocimier
                   ` (39 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 21:32 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794902580

Comment:
Ok, symlinking the libraries needed to `/usr/lib` seems to solve this.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (63 preceding siblings ...)
  2022-01-28 21:32 ` [PR REVIEW] " BenJarg
@ 2022-01-28 21:38 ` Chocimier
  2022-01-28 22:12 ` [PR PATCH] [Updated] " BenJarg
                   ` (38 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-28 21:38 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794905706

Comment:
You right, libraries go into package metadata only if exactly in `/usr/lib` or versioned.
Please keep shlib_provides= then.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (64 preceding siblings ...)
  2022-01-28 21:38 ` Chocimier
@ 2022-01-28 22:12 ` BenJarg
  2022-01-28 22:51 ` [PR REVIEW] " BenJarg
                   ` (37 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 22:12 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 9326cafe9b5ed835047348fe0768348b3cb9e8a8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index edcf9daee61c..f5f11b419292 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4103,3 +4103,7 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From deeb43358c7ae05aa3e86097d17572635e1b9545 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index f5f11b419292..f66ec5da6933 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4107,3 +4107,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From 221a59f07d2504e6292a1b426e85d1fdefe41042 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From b72556ee029044b404d1aecfc607dbf14a93a07f Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           | 103 ++++++++
 6 files changed, 539 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index f66ec5da6933..1f8904b9afd2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4104,9 +4104,6 @@ libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4115,3 +4112,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..a235f144504b
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,103 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd R-cran-Rcpp R-cran-RInside"
+	configure_args+=" -Dr=ON"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+subpackages="python3-pyroot"
+
+if [ "$XBPS_TARGET_LIBC" != "musl" ]; then
+	subpackages+=" root-R"
+fi
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (65 preceding siblings ...)
  2022-01-28 22:12 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-28 22:51 ` BenJarg
  2022-01-29  0:22 ` BenJarg
                   ` (36 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-28 22:51 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794938908

Comment:
It seems it's more complicated than that, and make take a bigger effort. After patching that, I also had to change a few `__GNUC__` s to `__GLIBC__`, and am still running into random compilation errors like `error: invalid conversion from 'int*' to 'socklen_t*'`. `xrootd` might be a little too tied to glibc. 

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (66 preceding siblings ...)
  2022-01-28 22:51 ` [PR REVIEW] " BenJarg
@ 2022-01-29  0:22 ` BenJarg
  2022-01-29 18:52 ` Chocimier
                   ` (35 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-29  0:22 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r794966575

Comment:
As for the `root-R` issue, it's because of one of `R-cran-Rcpp`'s header files the R bindings need to compile uses `execinfo.h`, which musl doesn't have.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (67 preceding siblings ...)
  2022-01-29  0:22 ` BenJarg
@ 2022-01-29 18:52 ` Chocimier
  2022-01-29 21:29 ` [PR PATCH] [Updated] " BenJarg
                   ` (34 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-01-29 18:52 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r795083222

Comment:
R-cran-Rcpp is fixed by #35301

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (68 preceding siblings ...)
  2022-01-29 18:52 ` Chocimier
@ 2022-01-29 21:29 ` BenJarg
  2022-01-29 21:30 ` [PR REVIEW] " BenJarg
                   ` (33 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-29 21:29 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From e5e69680dd8dd00d9d9b037fb0925e6054af6cff Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   |  4 ++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index edcf9daee61c..f5f11b419292 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4103,3 +4103,7 @@ libkaddressbookprivate.so.5 kaddressbook-21.08.3_1
 libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.2 root-6.24.06_1
+libXrdClient.so.2 root-6.24.06_1
+libXrdCl.so.2 root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From 4480a196cbf6a7869a0a329e136203c087db0bee Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 common/shlibs           |  8 ++++++++
 srcpkgs/xrootd/template | 13 +++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/common/shlibs b/common/shlibs
index f5f11b419292..f66ec5da6933 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4107,3 +4107,11 @@ libRInside.so R-cran-RInside-0.2.16_1
 libXrdUtils.so.2 root-6.24.06_1
 libXrdClient.so.2 root-6.24.06_1
 libXrdCl.so.2 root-6.24.06_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..c4fbe1c16e39
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.0
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=23bf63bbc63c8fb45dad8b907a7692624f31427001a1688135e9c8d182a3ee7d

From fab07b3768eb2fb39a951d1fa9b1d4d4795bd89b Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From b35a74bbc89f34e5633a0eed67b4de768af45c39 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 common/shlibs                   |  10 +-
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  97 ++++++++
 6 files changed, 533 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/common/shlibs b/common/shlibs
index f66ec5da6933..1f8904b9afd2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4104,9 +4104,6 @@ libcodec2.so.1.0 codec2-1.0.1_1
 libx86emu.so.3 libx86emu-3.4_1
 libdeflate.so.0 libdeflate-1.8_1
 libRInside.so R-cran-RInside-0.2.16_1
-libXrdUtils.so.2 root-6.24.06_1
-libXrdClient.so.2 root-6.24.06_1
-libXrdCl.so.2 root-6.24.06_1
 libXrdUtils.so.3 xrootd-5.4.0_1
 libXrdCl.so.3 xrootd-5.4.0_1
 libXrdServer.so.3 xrootd-5.4.0_1
@@ -4115,3 +4112,10 @@ libXrdPosix.so.3 xrootd-5.4.0_1
 libXrdHttpUtils.so.2 xrootd-5.4.0_1
 libXrdSsiLib.so.2 xrootd-5.4.0_1
 libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..0ab761ab95b6
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,97 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (69 preceding siblings ...)
  2022-01-29 21:29 ` [PR PATCH] [Updated] " BenJarg
@ 2022-01-29 21:30 ` BenJarg
  2022-02-23 19:45 ` [PR PATCH] [Updated] " BenJarg
                   ` (32 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-01-29 21:30 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r795095351

Comment:
Great, the `root-R` part compiles on musl now without issue, so I removed the restriction.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (70 preceding siblings ...)
  2022-01-29 21:30 ` [PR REVIEW] " BenJarg
@ 2022-02-23 19:45 ` BenJarg
  2022-02-24  5:57 ` BenJarg
                   ` (31 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-02-23 19:45 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 49472f63d235e0b93c7b50b151636acabf81683f Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 019618205973..1aac590d766d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4114,3 +4114,19 @@ libjvm.so openjdk17-jre-17.0.1+12_1
 librttopo.so.1 librttopo-1.1.0_1
 libspatialite.so.7 libspatialite-5.0.1_1
 mod_spatialite.so.7 libspatialite-5.0.1_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From acfbb5bc2466c328dd095d1b83a3aa5984f5d3f3 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/template | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..9e3fc4c23518
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,13 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.1
+revision=1
+archs="~*-musl"
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=c0e7bb1a992f1dac68790d0ffaf051c4c52c79491feab42c6db3fbd50b462a39

From 18fad30653712818ceb347ae3e6035f9b18c4e52 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 5a5c5f59bc6a229dacfadc9c72c9061dd61f0c03 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  97 ++++++++
 5 files changed, 526 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..0ab761ab95b6
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,97 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy R-cran-Rcpp R-cran-RInside"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF -Dxrootd=OFF"
+	;;
+	*)
+	makedepends+=" xrootd"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (71 preceding siblings ...)
  2022-02-23 19:45 ` [PR PATCH] [Updated] " BenJarg
@ 2022-02-24  5:57 ` BenJarg
  2022-02-24  6:04 ` [PR REVIEW] " BenJarg
                   ` (30 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-02-24  5:57 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 49472f63d235e0b93c7b50b151636acabf81683f Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 019618205973..1aac590d766d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4114,3 +4114,19 @@ libjvm.so openjdk17-jre-17.0.1+12_1
 librttopo.so.1 librttopo-1.1.0_1
 libspatialite.so.7 libspatialite-5.0.1_1
 mod_spatialite.so.7 libspatialite-5.0.1_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From 58dedadc4d741186996ce5df77f0f5834e9f53ad Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 303 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  17 ++
 2 files changed, 320 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..3104a6e46fd7
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,303 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdApps/XrdMpxStats.cc b/src/XrdApps/XrdMpxStats.cc
+index 8268a6528..6afadf504 100644
+--- a/src/XrdApps/XrdMpxStats.cc
++++ b/src/XrdApps/XrdMpxStats.cc
+@@ -289,7 +289,7 @@ int main(int argc, char *argv[])
+    while(1)
+         {sbP = statsQ.getBuff();
+          retc = recvfrom(udpFD, sbP->Data, sizeof(sbP->Data), 0,
+-                               &sbP->From.Addr, &fromLen);
++                               &sbP->From.Addr, (socklen_t*)&fromLen);
+          if (retc < 0) {Say.Emsg(":", retc, "recv udp message"); exit(8);}
+          sbP->Dlen = retc;
+          statsQ.Add(sbP);
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNet.cc b/src/XrdNet/XrdNet.cc
+index 2d8afed04..2855bd7b6 100644
+--- a/src/XrdNet/XrdNet.cc
++++ b/src/XrdNet/XrdNet.cc
+@@ -393,7 +393,7 @@ int XrdNet::do_Accept_TCP(XrdNetAddr &hAddr, int opts)
+ 
+ // Accept a connection
+ //
+-   do {newfd = XrdSysFD_Accept(iofd, &IP.Addr, &addrlen);}
++   do {newfd = XrdSysFD_Accept(iofd, &IP.Addr, (socklen_t*)&addrlen);}
+       while(newfd < 0 && errno == EINTR);
+ 
+    if (newfd < 0)
+@@ -489,7 +489,7 @@ int XrdNet::do_Accept_UDP(XrdNetPeer &myPeer, int opts)
+ 
+ // Read the message and get the host address
+ //
+-   do {dlen = recvfrom(iofd,(Sokdata_t)bp->data,BuffSize-1,0,&IP.Addr,&addrlen);
++   do {dlen = recvfrom(iofd,(Sokdata_t)bp->data,BuffSize-1,0,&IP.Addr,(socklen_t*)&addrlen);
+       } while(dlen < 0 && errno == EINTR);
+ 
+    if (dlen < 0)
+diff --git a/src/XrdNet/XrdNetAddr.cc b/src/XrdNet/XrdNetAddr.cc
+index 6ba5fec77..1408285aa 100644
+--- a/src/XrdNet/XrdNetAddr.cc
++++ b/src/XrdNet/XrdNetAddr.cc
+@@ -444,8 +444,8 @@ const char *XrdNetAddr::Set(int sockFD, bool peer)
+ 
+ // Get the address on the appropriate side of this socket
+ //
+-   if (peer) rc = getpeername(sockFD, &IP.Addr, &aSize);
+-      else   rc = getsockname(sockFD, &IP.Addr, &aSize);
++   if (peer) rc = getpeername(sockFD, &IP.Addr, (socklen_t*)&aSize);
++      else   rc = getsockname(sockFD, &IP.Addr, (socklen_t*)&aSize);
+    if (rc < 0)
+       {addrSize = 0;
+        return XrdSysE2T(errno);
+diff --git a/src/XrdNet/XrdNetConnect.cc b/src/XrdNet/XrdNetConnect.cc
+index 9a7e2816a..8cf7c5430 100644
+--- a/src/XrdNet/XrdNetConnect.cc
++++ b/src/XrdNet/XrdNetConnect.cc
+@@ -74,7 +74,7 @@ int XrdNetConnect::Connect(             int       fd,
+                     do {myRC = poll(&polltab, 1, tsec*1000);} 
+                        while(myRC < 0 && errno == EINTR);
+                     if (myRC != 1) myRC = ETIMEDOUT;
+-                       else getsockopt(fd,SOL_SOCKET,SO_ERROR,(Sokdata_t)&myRC,&myRClen);
++                       else getsockopt(fd,SOL_SOCKET,SO_ERROR,(Sokdata_t)&myRC,(socklen_t*)&myRClen);
+                    }
+    fcntl(fd, F_SETFD, old_flags);
+    return myRC;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdNet/XrdNetUtils.cc b/src/XrdNet/XrdNetUtils.cc
+index fbc6c5ff7..b82cbdd88 100644
+--- a/src/XrdNet/XrdNetUtils.cc
++++ b/src/XrdNet/XrdNetUtils.cc
+@@ -504,8 +504,8 @@ int XrdNetUtils::GetSokInfo(int fd, char *theAddr, int theALen, char &theType)
+ 
+ // The the address wanted
+ //
+-   rc = (fd > 0 ? getpeername( fd, &theIP.Addr, &addrSize)
+-                : getsockname(-fd, &theIP.Addr, &addrSize));
++   rc = (fd > 0 ? getpeername( fd, &theIP.Addr, (socklen_t*)&addrSize)
++                : getsockname(-fd, &theIP.Addr, (socklen_t*)&addrSize));
+    if (rc) return -errno;
+ 
+ // Set the address
+@@ -604,8 +604,8 @@ int XrdNetUtils::IPFormat(int fd, char *bP, int bL, int opts)
+ 
+ // The the address wanted
+ //
+-   rc = (fd > 0 ? getpeername( fd, &theIP.Addr, &addrSize)
+-                : getsockname(-fd, &theIP.Addr, &addrSize));
++   rc = (fd > 0 ? getpeername( fd, &theIP.Addr, (socklen_t*)&addrSize)
++                : getsockname(-fd, &theIP.Addr, (socklen_t*)&addrSize));
+    if (rc) return 0;
+ 
+ // Now format it
+@@ -779,7 +779,7 @@ int XrdNetUtils::Port(int fd, const char **eText)
+    SOCKLEN_t slen = (socklen_t)sizeof(Inet);
+    int rc;
+ 
+-   if ((rc = getsockname(fd, &Inet.Addr, &slen)))
++   if ((rc = getsockname(fd, &Inet.Addr, (socklen_t*)&slen)))
+       {rc = errno;
+        if (eText) setET(eText, errno);
+        return -rc;
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..f2c889304283
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,17 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.1
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=c0e7bb1a992f1dac68790d0ffaf051c4c52c79491feab42c6db3fbd50b462a39
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args="-DCMAKE_EXE_LINKER_FLAGS=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi

From f65a74daf8a16a3b725b276e941c0acf34e3f264 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 3c5cf38c3187441a2ffc199b5a287d507df620f1 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  94 +++++++
 5 files changed, 523 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..aa77f9e49bc0
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,94 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy R-cran-Rcpp R-cran-RInside xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (72 preceding siblings ...)
  2022-02-24  5:57 ` BenJarg
@ 2022-02-24  6:04 ` BenJarg
  2022-03-01 18:43 ` Chocimier
                   ` (29 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-02-24  6:04 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r813571731

Comment:
Ok, so I stumbled through throwing together a patch for xrootd to work on musl and pushed that here. I compiled and briefly tested the patched version on glibc and musl (on amd64). Someone let me know if anything looks clearly off. I could also send it upstream.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (73 preceding siblings ...)
  2022-02-24  6:04 ` [PR REVIEW] " BenJarg
@ 2022-03-01 18:43 ` Chocimier
  2022-03-01 23:44 ` [PR PATCH] [Updated] " BenJarg
                   ` (28 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-03-01 18:43 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r817041587

Comment:
Defining `SOCKLEN_t` in `XrdSysPlatform.hh` more carefully would be better than casting `int*` to `socklen_t*`, both for upstream patch and for Void patch.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (74 preceding siblings ...)
  2022-03-01 18:43 ` Chocimier
@ 2022-03-01 23:44 ` BenJarg
  2022-03-01 23:58 ` [PR REVIEW] " BenJarg
                   ` (27 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-01 23:44 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From c7f5d45c84c7514edd9bc3e701fdab4b5004d893 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 5096ab5dad6b..84dd818ebfb3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4117,3 +4117,19 @@ libspatialite.so.7 libspatialite-5.0.1_1
 mod_spatialite.so.7 libspatialite-5.0.1_1
 libSvtAv1Enc.so.0 libsvt-av1-0.9.0_1
 libSvtAv1Dec.so.0 libsvt-av1-0.9.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From 61e35731da00a07e994e6707d8ad175abd36d11e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  17 +++
 2 files changed, 244 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..f2c889304283
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,17 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.1
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=c0e7bb1a992f1dac68790d0ffaf051c4c52c79491feab42c6db3fbd50b462a39
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args="-DCMAKE_EXE_LINKER_FLAGS=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi

From 1de63e66b2cbabfb2cc95f597d070740c7947e23 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From f6a76dfd1f0ea1ad1203895d70f58b34a0ff74ee Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |   1 +
 srcpkgs/root-R                  |   1 +
 srcpkgs/root/INSTALL.msg        |   3 +
 srcpkgs/root/patches/musl.patch | 424 ++++++++++++++++++++++++++++++++
 srcpkgs/root/template           |  94 +++++++
 5 files changed, 523 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..cd0a2a46dbef
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,424 @@
+diff --git a/core/base/inc/Varargs.h b/core/base/inc/Varargs.h
+index 525f1f64a6..30983e0124 100644
+--- a/core/base/inc/Varargs.h
++++ b/core/base/inc/Varargs.h
+@@ -44,12 +44,10 @@
+ #endif
+ 
+ #if !defined(R__VA_COPY)
+-#  if defined(__GNUC__) && !defined(__FreeBSD__)
+-#     define R__VA_COPY(to, from) __va_copy((to), (from))
++#  if defined(va_copy)
++#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(__va_copy)
+ #     define R__VA_COPY(to, from) __va_copy((to), (from))
+-#  elif defined(va_copy)
+-#     define R__VA_COPY(to, from) va_copy((to), (from))
+ #  elif defined(_WIN32) && _MSC_VER < 1310
+ #     define R__VA_COPY(to, from) (*(to) = *(from))
+ #  else
+diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c
+index 6017afd91b..daf0109977 100644
+--- a/core/clib/src/mmapsup.c
++++ b/core/clib/src/mmapsup.c
+@@ -42,13 +42,6 @@ typedef char* caddr_t;
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifndef SEEK_SET
+ #define SEEK_SET 0
+ #endif
+diff --git a/core/clib/src/mvalloc.c b/core/clib/src/mvalloc.c
+index ef0fdc8196..e062c2d20d 100644
+--- a/core/clib/src/mvalloc.c
++++ b/core/clib/src/mvalloc.c
+@@ -29,13 +29,6 @@ Boston, MA 02111-1307, USA.  */
+ #include <cygwin/version.h>
+ #endif /* __CYGWIN__ */
+ 
+-#if defined(R__LINUX) && !defined(R__GLIBC) && !defined(__CYGWIN__) \
+-   || (defined(__CYGWIN__) && (CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR < 213))
+-extern size_t getpagesize PARAMS ((void));
+-#else
+-extern int getpagesize PARAMS ((void));
+-#endif
+-
+ #ifdef VMS
+ #undef _SC_PAGE_SIZE
+ #undef _SC_PAGESIZE
+diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx
+index 25dfe1cf87..7f92c1146f 100644
+--- a/core/unix/src/TUnixSystem.cxx
++++ b/core/unix/src/TUnixSystem.cxx
+@@ -148,17 +148,6 @@
+ #   define UTMP_NO_ADDR
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #if defined(R__LYNXOS)
+ extern "C" {
+    extern int putenv(const char *);
+@@ -214,7 +203,6 @@ extern "C" {
+ 
+ // FPE handling includes
+ #if (defined(R__LINUX) && !defined(R__WINGCC))
+-#include <fpu_control.h>
+ #include <fenv.h>
+ #include <sys/prctl.h>    // for prctl() function used in StackTrace()
+ #endif
+@@ -3074,13 +3062,7 @@ TInetAddress TUnixSystem::GetHostByName(const char *hostname)
+ TInetAddress TUnixSystem::GetSockName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getsockname(sock, &addr, &len) == -1) {
+@@ -3110,13 +3092,7 @@ TInetAddress TUnixSystem::GetSockName(int sock)
+ TInetAddress TUnixSystem::GetPeerName(int sock)
+ {
+    struct sockaddr addr;
+-#if defined(USE_SIZE_T)
+-   size_t len = sizeof(addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t len = sizeof(addr);
+-#else
+-   int len = sizeof(addr);
+-#endif
+ 
+    TInetAddress ia;
+    if (getpeername(sock, &addr, &len) == -1) {
+@@ -3483,13 +3459,7 @@ int TUnixSystem::GetSockOpt(int sock, int opt, int *val)
+ {
+    if (sock < 0) return -1;
+ 
+-#if defined(USE_SOCKLEN_T) || defined(_AIX43)
+    socklen_t optlen = sizeof(*val);
+-#elif defined(USE_SIZE_T)
+-   size_t optlen = sizeof(*val);
+-#else
+-   int optlen = sizeof(*val);
+-#endif
+ 
+    switch (opt) {
+    case kSendBuffer:
+diff --git a/interpreter/cling/lib/Interpreter/Interpreter.cpp b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+index d061f04e4b..e6dca5dd90 100644
+--- a/interpreter/cling/lib/Interpreter/Interpreter.cpp
++++ b/interpreter/cling/lib/Interpreter/Interpreter.cpp
+@@ -453,7 +453,7 @@ namespace cling {
+ 
+     // Intercept all atexit calls, as the Interpreter and functions will be long
+     // gone when the -native- versions invoke them.
+-#if defined(__linux__)
++#if defined(__GLIBC__)
+     const char* LinkageCxx = "extern \"C++\"";
+     const char* Attr = LangOpts.CPlusPlus ? " throw () " : "";
+ #else
+diff --git a/io/io/src/TMapFile.cxx b/io/io/src/TMapFile.cxx
+index 7fbad8621f..fddd5a9e95 100644
+--- a/io/io/src/TMapFile.cxx
++++ b/io/io/src/TMapFile.cxx
+@@ -107,9 +107,7 @@ robust Streamer mechanism I opted for 3).
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+-#if defined(R__HPUX) || \
+-    defined (R__SOLARIS) || defined(R__AIX) || defined(R__HIUX) || \
+-    __GLIBC_MINOR__ > 0
++#ifndef WIN32
+ union semun {
+    int val;                      // value for SETVAL
+    struct semid_ds *buf;         // buffer for IPC_STAT & IPC_SET
+diff --git a/math/mathcore/inc/TMath.h b/math/mathcore/inc/TMath.h
+index 55bbdbf1df..eea42c55a7 100644
+--- a/math/mathcore/inc/TMath.h
++++ b/math/mathcore/inc/TMath.h
+@@ -577,63 +577,13 @@ struct Limits {
+ // Trig and other functions
+ 
+ #include <float.h>
++#include <math.h>
+ 
+ #if defined(R__WIN32) && !defined(__CINT__)
+ #   ifndef finite
+ #      define finite _finite
+ #   endif
+ #endif
+-#if defined(R__AIX) || defined(R__SOLARIS_CC50) || \
+-    defined(R__HPUX11) || defined(R__GLIBC) || \
+-    (defined(R__MACOSX) )
+-// math functions are defined inline so we have to include them here
+-#   include <math.h>
+-#   ifdef R__SOLARIS_CC50
+-       extern "C" { int finite(double); }
+-#   endif
+-// #   if defined(R__GLIBC) && defined(__STRICT_ANSI__)
+-// #      ifndef finite
+-// #         define finite __finite
+-// #      endif
+-// #      ifndef isnan
+-// #         define isnan  __isnan
+-// #      endif
+-// #   endif
+-#else
+-// don't want to include complete <math.h>
+-extern "C" {
+-   extern double sin(double);
+-   extern double cos(double);
+-   extern double tan(double);
+-   extern double sinh(double);
+-   extern double cosh(double);
+-   extern double tanh(double);
+-   extern double asin(double);
+-   extern double acos(double);
+-   extern double atan(double);
+-   extern double atan2(double, double);
+-   extern double sqrt(double);
+-   extern double exp(double);
+-   extern double pow(double, double);
+-   extern double log(double);
+-   extern double log10(double);
+-#ifndef R__WIN32
+-#   if !defined(finite)
+-       extern int finite(double);
+-#   endif
+-#   if !defined(isnan)
+-       extern int isnan(double);
+-#   endif
+-   extern double ldexp(double, int);
+-   extern double ceil(double);
+-   extern double floor(double);
+-#else
+-   _CRTIMP double ldexp(double, int);
+-   _CRTIMP double ceil(double);
+-   _CRTIMP double floor(double);
+-#endif
+-}
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ inline Double_t TMath::Sin(Double_t x)
+diff --git a/math/mathcore/src/triangle.c b/math/mathcore/src/triangle.c
+index e1990a9484..58d47cfdc9 100644
+--- a/math/mathcore/src/triangle.c
++++ b/math/mathcore/src/triangle.c
+@@ -324,7 +324,7 @@
+ #include <float.h>
+ #endif /* CPU86 */
+ #ifdef LINUX
+-#include <fpu_control.h>
++#include <fenv.h>
+ #endif /* LINUX */
+ #ifdef TRILIBRARY
+ #include "triangle.h"
+@@ -4867,7 +4867,7 @@ void exactinit()
+   REAL check, lastcheck;
+   int every_other;
+ #ifdef LINUX
+-  int cword;
++  fenv_t fenv;
+ #endif /* LINUX */
+ 
+ #ifdef CPU86
+@@ -4879,13 +4879,13 @@ void exactinit()
+ #endif /* CPU86 */
+ #ifdef LINUX
+ #ifdef SINGLE
+-  /*  cword = 4223; */
+-  cword = 4210;                 /* set FPU control word for single precision */
++  /*  fenv.__control_word = 4223; */
++  fenv.__control_word = 4210;  /* set FPU control word for single precision */
+ #else /* not SINGLE */
+-  /*  cword = 4735; */
+-  cword = 4722;                 /* set FPU control word for double precision */
++  /*  fenv.__control_word = 4735; */
++  fenv.__control_word = 4722;  /* set FPU control word for double precision */
+ #endif /* not SINGLE */
+-  _FPU_SETCW(cword);
++  fesetenv(&fenv);
+ #endif /* LINUX */
+ 
+   every_other = 1;
+diff --git a/net/rpdutils/src/daemon.cxx b/net/rpdutils/src/daemon.cxx
+index 9bdb4294a5..0d25986dc4 100644
+--- a/net/rpdutils/src/daemon.cxx
++++ b/net/rpdutils/src/daemon.cxx
+@@ -24,9 +24,7 @@
+ #include <signal.h>
+ #include <sys/stat.h>
+ #include <sys/param.h>
+-#if defined(__sun) || defined(__sgi)
+-#  include <fcntl.h>
+-#endif
++#include <fcntl.h>
+ 
+ #if defined(__linux__) && !defined(linux)
+ # define linux
+@@ -44,15 +42,6 @@
+ #   define NOFILE 0
+ #endif
+ 
+-#if defined(__hpux)
+-#define USE_SIGCHLD
+-#endif
+-
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#define USE_SIGCHLD
+-#define SIGCLD SIGCHLD
+-#endif
+-
+ #if defined(linux) || defined(__hpux) || defined(__sun) || defined(__sgi) || \
+     defined(_AIX) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+     defined(__APPLE__) || defined(__MACH__) || \
+@@ -69,23 +58,16 @@ namespace ROOT {
+ 
+ extern ErrorHandler_t gErrSys;
+ 
+-#if defined(USE_SIGCHLD)
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+ static void SigChild(int)
+ {
+-   int         pid;
+-#if defined(__hpux) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+-    defined(__APPLE__)
++   int pid;
+    int status;
+-#else
+-   union wait  status;
+-#endif
+ 
+    while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+       ;
+ }
+-#endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+ /// Detach a daemon process from login session context.
+@@ -208,15 +190,7 @@ out:
+    // and execute the wait3() system call.
+ 
+    if (ignsigcld) {
+-#ifdef USE_SIGCHLD
+-      signal(SIGCLD, SigChild);
+-#else
+-#if defined(__sun)
+-      sigignore(SIGCHLD);
+-#else
+-      signal(SIGCLD, SIG_IGN);
+-#endif
+-#endif
++      signal(SIGCHLD, SigChild);
+    }
+ }
+ 
+diff --git a/net/rpdutils/src/net.cxx b/net/rpdutils/src/net.cxx
+index d258e71e62..b532848985 100644
+--- a/net/rpdutils/src/net.cxx
++++ b/net/rpdutils/src/net.cxx
+@@ -31,17 +31,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-     (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-     defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-     (defined(R__AIX) && defined(_AIX43)) || \
+-     (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ #include "rpderr.h"
+ 
+@@ -357,13 +346,7 @@ int NetRecv(char *msg, int max)
+ 
+ int NetOpen(int inetdflag, EService service)
+ {
+-#if defined(USE_SIZE_T)
+-   size_t clilen = sizeof(gTcpCliAddr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t clilen = sizeof(gTcpCliAddr);
+-#else
+-   int clilen = sizeof(gTcpCliAddr);
+-#endif
+ 
+    if (inetdflag) {
+ 
+@@ -588,13 +571,7 @@ void NetSetOptions(EService serv, int sock, int tcpwindowsize)
+          ErrorInfo("NetSetOptions: set SO_RCVBUF %d", val);
+ 
+    if (gDebug > 0) {
+-#if defined(USE_SIZE_T)
+-      size_t optlen = sizeof(val);
+-#elif defined(USE_SOCKLEN_T)
+       socklen_t optlen = sizeof(val);
+-#else
+-      int optlen = sizeof(val);
+-#endif
+       if (serv == kROOTD) {
+          getsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&val, &optlen);
+          ErrorInfo("NetSetOptions: get TCP_NODELAY: %d", val);
+diff --git a/net/rpdutils/src/netpar.cxx b/net/rpdutils/src/netpar.cxx
+index 00f759a6c9..a781ca9658 100644
+--- a/net/rpdutils/src/netpar.cxx
++++ b/net/rpdutils/src/netpar.cxx
+@@ -37,17 +37,6 @@
+ #include <strings.h>
+ #endif
+ 
+-#if (defined(R__AIX) && !defined(_AIX43)) || \
+-    (defined(R__SUNGCC3) && !defined(__arch64__))
+-#   define USE_SIZE_T
+-#elif defined(R__GLIBC) || defined(R__FBSD) || \
+-      (defined(R__SUNGCC3) && defined(__arch64__)) || \
+-      defined(R__OBSD) || defined(MAC_OS_X_VERSION_10_4) || \
+-      (defined(R__AIX) && defined(_AIX43)) || \
+-      (defined(R__SOLARIS) && defined(_SOCKLEN_T))
+-#   define USE_SOCKLEN_T
+-#endif
+-
+ #include "rpdp.h"
+ 
+ extern int gDebug;
+@@ -201,13 +190,7 @@ int NetParOpen(int port, int size)
+    struct sockaddr_in remote_addr;
+    memset(&remote_addr, 0, sizeof(remote_addr));
+ 
+-#if defined(USE_SIZE_T)
+-   size_t remlen = sizeof(remote_addr);
+-#elif defined(USE_SOCKLEN_T)
+    socklen_t remlen = sizeof(remote_addr);
+-#else
+-   int remlen = sizeof(remote_addr);
+-#endif
+ 
+    if (!getpeername(NetGetSockFd(), (struct sockaddr *)&remote_addr, &remlen)) {
+       remote_addr.sin_family = AF_INET;
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..aa77f9e49bc0
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,94 @@
+# Template file for 'root'
+pkgname=root
+version=6.24.06
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ python3-devel python3-numpy R-cran-Rcpp R-cran-RInside xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (75 preceding siblings ...)
  2022-03-01 23:44 ` [PR PATCH] [Updated] " BenJarg
@ 2022-03-01 23:58 ` BenJarg
  2022-03-02 21:19 ` BenJarg
                   ` (26 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-01 23:58 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r817238665

Comment:
Good point, that's a way better solution.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (76 preceding siblings ...)
  2022-03-01 23:58 ` [PR REVIEW] " BenJarg
@ 2022-03-02 21:19 ` BenJarg
  2022-03-10 21:14 ` [PR PATCH] [Updated] " BenJarg
                   ` (25 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-02 21:19 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1057402951

Comment:
I opened a PR upstream, see xrootd/xrootd#1632.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (77 preceding siblings ...)
  2022-03-02 21:19 ` BenJarg
@ 2022-03-10 21:14 ` BenJarg
  2022-03-10 21:15 ` BenJarg
                   ` (24 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-10 21:14 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From c7f5d45c84c7514edd9bc3e701fdab4b5004d893 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 5096ab5dad6b..84dd818ebfb3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4117,3 +4117,19 @@ libspatialite.so.7 libspatialite-5.0.1_1
 mod_spatialite.so.7 libspatialite-5.0.1_1
 libSvtAv1Enc.so.0 libsvt-av1-0.9.0_1
 libSvtAv1Dec.so.0 libsvt-av1-0.9.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From be84c80544802639b1df49e23cca65673995b7da Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  17 +++
 2 files changed, 244 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..9cb4d7af9c3a
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,17 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args="-DCMAKE_EXE_LINKER_FLAGS=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi

From 34f4aea74d4ed328959122e7cf230d9e6c30407f Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 323ccd95f9fb2cbeb895c49c3023ab91bbc454b1 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 ++++++++
 srcpkgs/root/template           | 95 +++++++++++++++++++++++++++++++++
 5 files changed, 121 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..81af7e68acc8
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,95 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.00
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (78 preceding siblings ...)
  2022-03-10 21:14 ` [PR PATCH] [Updated] " BenJarg
@ 2022-03-10 21:15 ` BenJarg
  2022-03-10 21:20 ` BenJarg
                   ` (23 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-10 21:15 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 8140f9bf1ff5154daf8a3dc7c88e247479dc9a7c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index d60e60a87534..a6291da016df 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4142,3 +4142,19 @@ librz_util.so.0.3.4 rizin-0.3.4_1
 librz_lang.so.0.3.4 rizin-0.3.4_1
 librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From ed78b42257cdbb222917a02b8838ab1192f6f7df Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  17 +++
 2 files changed, 244 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..9cb4d7af9c3a
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,17 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args="-DCMAKE_EXE_LINKER_FLAGS=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi

From b9b41d78293586a5f2041e4d709026802db4de7e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 9500a137470e14a53037bf91cd5401bc8c0b1bfa Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 ++++++++
 srcpkgs/root/template           | 95 +++++++++++++++++++++++++++++++++
 5 files changed, 121 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..81af7e68acc8
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,95 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.00
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (79 preceding siblings ...)
  2022-03-10 21:15 ` BenJarg
@ 2022-03-10 21:20 ` BenJarg
  2022-03-15 20:41 ` Chocimier
                   ` (22 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-10 21:20 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1064514817

Comment:
Just updated ROOT to the recent release after some testing. The new release needs now only a small patch to work on musl, which I've had pulled upstream: root-project/root#10045.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (80 preceding siblings ...)
  2022-03-10 21:20 ` BenJarg
@ 2022-03-15 20:41 ` Chocimier
  2022-03-17  5:24 ` [PR PATCH] [Updated] " BenJarg
                   ` (21 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-03-15 20:41 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1068448253

Comment:
Just to keep you updated: it is likely fine by now, just need to test it again before merge.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (81 preceding siblings ...)
  2022-03-15 20:41 ` Chocimier
@ 2022-03-17  5:24 ` BenJarg
  2022-03-17  5:27 ` BenJarg
                   ` (20 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-17  5:24 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 6b202d7a082e130e7a4168fe53d57ce273c3b1d0 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 83b5783cb026..6eb89a671830 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4142,3 +4142,19 @@ librz_util.so.0.3.4 rizin-0.3.4_1
 librz_lang.so.0.3.4 rizin-0.3.4_1
 librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From a3f8f41581372946ceda28297f05a79c6f670ce4 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From a64bb515fab3bef218bab7003fd69bfc78641855 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 2302831d42d6b39b92aaba33de5a510edef76364 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 ++++++++
 srcpkgs/root/template           | 95 +++++++++++++++++++++++++++++++++
 5 files changed, 121 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..81af7e68acc8
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,95 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.00
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (82 preceding siblings ...)
  2022-03-17  5:24 ` [PR PATCH] [Updated] " BenJarg
@ 2022-03-17  5:27 ` BenJarg
  2022-04-04  5:38 ` [PR PATCH] [Updated] " BenJarg
                   ` (19 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-03-17  5:27 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1070340513

Comment:
The armv6l-musl build for xrootd was failing because of missing libatomic, so I added that for platforms without it. It's building correctly for armv6l-musl on my machine now.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (83 preceding siblings ...)
  2022-03-17  5:27 ` BenJarg
@ 2022-04-04  5:38 ` BenJarg
  2022-04-06  2:18 ` BenJarg
                   ` (18 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-04  5:38 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 6d41c8677e70f3001dcbd15d0ae15cc54dfb379e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 307cb13347fc..38c730e7bfc0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4146,3 +4146,19 @@ librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From 61ab6b76ecf92d14525fae4a8323638be0241286 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 8e5e6d8ce200d2c12c589a84923bcfc150fb8121 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From e0c7396839a548f81e4d9fdbef37728a30f7d71a Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 ++++++++
 srcpkgs/root/template           | 95 +++++++++++++++++++++++++++++++++
 5 files changed, 121 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..81af7e68acc8
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,95 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.00
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31
+build_options="fortran"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (84 preceding siblings ...)
  2022-04-04  5:38 ` [PR PATCH] [Updated] " BenJarg
@ 2022-04-06  2:18 ` BenJarg
  2022-04-20  2:24 ` BenJarg
                   ` (17 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-06  2:18 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 7fac30b2019bb81aa8d83029c4e03d288590975b Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 836cacc49b89..c4a197635d70 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4146,3 +4146,19 @@ librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From ef63a92fcb346fce8df01198c2801d845e815914 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 77692b2cd97868b2670baf2bd4f0067f71c078e6 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From ef52ea9032dee9539da1248ae742df2fc2c8160e Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.24.06

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 ++++++++
 srcpkgs/root/template           | 96 +++++++++++++++++++++++++++++++++
 5 files changed, 122 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..52d3e99125e3
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,96 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.00
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ $(vopt_if root7 '-Droot7=ON -DCMAKE_CXX_STANDARD=17 -Dwebgui=ON')
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31
+build_options="fortran root7"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (85 preceding siblings ...)
  2022-04-06  2:18 ` BenJarg
@ 2022-04-20  2:24 ` BenJarg
  2022-04-20 16:20 ` [PR REVIEW] " Chocimier
                   ` (16 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-20  2:24 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From eeb98373a680ea92abd715669ec35df25b358934 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ae4bb44c57a3..0ed2669b8d98 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4148,3 +4148,19 @@ librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From b9702b6772f118eb9e8893a4fd47cd0efde20ca8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 505d72403180a7f7c76a95cfb45ebcf358a366aa Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 9afd881c001be2cf2e5f08ae2b0e6fb019ac6ce7 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.26.02

---
 srcpkgs/python3-pyroot   |  1 +
 srcpkgs/root-R           |  1 +
 srcpkgs/root/INSTALL.msg |  3 ++
 srcpkgs/root/template    | 96 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 101 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..feedaa5b576d
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,96 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.02
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ $(vopt_if root7 '-Droot7=ON -DCMAKE_CXX_STANDARD=17 -Dwebgui=ON')
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb
+build_options="fortran root7"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (89 preceding siblings ...)
  2022-04-20 16:20 ` Chocimier
@ 2022-04-20 16:20 ` Chocimier
  2022-04-20 17:24 ` BenJarg
                   ` (12 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-04-20 16:20 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r854319018

Comment:
Uh, now there are plenty of files wrongly put into `/etc`, even `/usr/etc` was better.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (87 preceding siblings ...)
  2022-04-20 16:20 ` [PR REVIEW] " Chocimier
@ 2022-04-20 16:20 ` Chocimier
  2022-04-20 16:20 ` Chocimier
                   ` (14 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-04-20 16:20 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r854316975

Comment:
Please update, 0.2.16 source got removed already.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (86 preceding siblings ...)
  2022-04-20  2:24 ` BenJarg
@ 2022-04-20 16:20 ` Chocimier
  2022-04-20 16:20 ` Chocimier
                   ` (15 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-04-20 16:20 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r854316476

Comment:
just `libvdt,` please, same for other links

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (88 preceding siblings ...)
  2022-04-20 16:20 ` Chocimier
@ 2022-04-20 16:20 ` Chocimier
  2022-04-20 16:20 ` Chocimier
                   ` (13 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-04-20 16:20 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r854320961

Comment:
`rm -v ${DESTDIR}/usr/share/root/fonts/[a-z]*.ttf` maybe.

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (90 preceding siblings ...)
  2022-04-20 16:20 ` Chocimier
@ 2022-04-20 17:24 ` BenJarg
  2022-04-20 17:25 ` [PR PATCH] [Updated] " BenJarg
                   ` (11 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-20 17:24 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r854382397

Comment:
What would be the best place for these? `/usr/share`?

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (91 preceding siblings ...)
  2022-04-20 17:24 ` BenJarg
@ 2022-04-20 17:25 ` BenJarg
  2022-04-20 18:46 ` BenJarg
                   ` (10 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-20 17:25 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From eeb98373a680ea92abd715669ec35df25b358934 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ae4bb44c57a3..0ed2669b8d98 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4148,3 +4148,19 @@ librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..c15b30293151
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.16
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e
+shlib_provides="libRInside.so"

From b9702b6772f118eb9e8893a4fd47cd0efde20ca8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 505d72403180a7f7c76a95cfb45ebcf358a366aa Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..4bf35cfc4ed5
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+./libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 2efb3a6156866c274303a2a86f269865be13c12c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.26.02

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 ++++++++
 srcpkgs/root/template           | 96 +++++++++++++++++++++++++++++++++
 5 files changed, 122 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..9f64bd473b46
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+./root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..feedaa5b576d
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,96 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.02
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ $(vopt_if root7 '-Droot7=ON -DCMAKE_CXX_STANDARD=17 -Dwebgui=ON')
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb
+build_options="fortran root7"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm ${DESTDIR}/usr/share/root/fonts/arialbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arialbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariali.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/arial.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/ariblk.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comicbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/comic.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/courbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/couri.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/cour.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgia.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/georgiaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/impact.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/monotype.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/timesi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/times.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbd.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucbi.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebucit.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/trebuc.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanab.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanai.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdana.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/verdanaz.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/webdings.ttf
+	rm ${DESTDIR}/usr/share/root/fonts/wingding.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (92 preceding siblings ...)
  2022-04-20 17:25 ` [PR PATCH] [Updated] " BenJarg
@ 2022-04-20 18:46 ` BenJarg
  2022-04-20 19:05 ` [PR REVIEW] " BenJarg
                   ` (9 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-20 18:46 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 13807116ad9c24e8e6a11ba528882870f192bbef Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ae4bb44c57a3..0ed2669b8d98 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4148,3 +4148,19 @@ librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..9bd19d893cd1
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.17
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348
+shlib_provides="libRInside.so"

From 5b11cd0f100ca360336560f1e9eb2e941b5ad73c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 7358424a8b02cb3e47494e4662525cd1e3ef82c8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..25fca34b3833
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 20b10cf8fb43c39fabefca8d3f7a45792561b99f Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.26.02

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 +++++++++++
 srcpkgs/root/template           | 66 +++++++++++++++++++++++++++++++++
 5 files changed, 92 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..93ca1422a8da
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..93ca1422a8da
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..579cb61ae6fc
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,66 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.02
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='../etc/root'
+ $(vopt_if root7 '-Droot7=ON -DCMAKE_CXX_STANDARD=17 -Dwebgui=ON')
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb
+build_options="fortran root7"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm -v ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm -v ${DESTDIR}/usr/share/root/fonts/[a-mt-z]*.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (93 preceding siblings ...)
  2022-04-20 18:46 ` BenJarg
@ 2022-04-20 19:05 ` BenJarg
  2022-04-21 16:19 ` Chocimier
                   ` (8 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-20 19:05 UTC (permalink / raw)
  To: ml

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

New review comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r854467505

Comment:
That's much cleaner. I made it `rm -v ${DESTDIR}/usr/share/root/fonts/[a-mt-z]*.ttf` to avoid removing one GPL font (symbol.ttf).

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

* Re: [PR REVIEW] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (94 preceding siblings ...)
  2022-04-20 19:05 ` [PR REVIEW] " BenJarg
@ 2022-04-21 16:19 ` Chocimier
  2022-04-21 19:49 ` [PR PATCH] [Updated] " BenJarg
                   ` (7 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-04-21 16:19 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#discussion_r855367844

Comment:
`/usr/lib` (`libexec` ?), given that it contains precompiled headers and executable scripts.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (95 preceding siblings ...)
  2022-04-21 16:19 ` Chocimier
@ 2022-04-21 19:49 ` BenJarg
  2022-04-21 19:51 ` BenJarg
                   ` (6 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-21 19:49 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 13807116ad9c24e8e6a11ba528882870f192bbef Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index ae4bb44c57a3..0ed2669b8d98 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4148,3 +4148,19 @@ librz_search.so.0.3.4 rizin-0.3.4_1
 librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..9bd19d893cd1
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.17
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348
+shlib_provides="libRInside.so"

From 5b11cd0f100ca360336560f1e9eb2e941b5ad73c Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 7358424a8b02cb3e47494e4662525cd1e3ef82c8 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..25fca34b3833
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 915b4cb52d74d07137ac6eb3e8ca22da42c5e3b0 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.26.02

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 +++++++++++
 srcpkgs/root/template           | 66 +++++++++++++++++++++++++++++++++
 5 files changed, 92 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..93ca1422a8da
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..93ca1422a8da
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..bfc8cb6d8a3b
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,66 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.02
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='libexec/root'
+ $(vopt_if root7 '-Droot7=ON -DCMAKE_CXX_STANDARD=17 -Dwebgui=ON')
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb
+build_options="fortran root7"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm -v ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm -v ${DESTDIR}/usr/share/root/fonts/[a-mt-z]*.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (96 preceding siblings ...)
  2022-04-21 19:49 ` [PR PATCH] [Updated] " BenJarg
@ 2022-04-21 19:51 ` BenJarg
  2022-05-05 21:43 ` [PR PATCH] [Updated] " BenJarg
                   ` (5 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-04-21 19:51 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1105691626

Comment:
All those things should be fixed now, and I compiled and tested it on musl without issue.

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

* Re: [PR PATCH] [Updated] New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (97 preceding siblings ...)
  2022-04-21 19:51 ` BenJarg
@ 2022-05-05 21:43 ` BenJarg
  2022-05-07 17:39 ` [PR PATCH] [Merged]: " Chocimier
                   ` (4 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-05-05 21:43 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by BenJarg against master on the void-packages repository

https://github.com/BenJarg/void-packages master
https://github.com/void-linux/void-packages/pull/34647

New package: root-6.24.06
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

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

From 34e7763edd051cc9421e029564f51a2708304ad9 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 4 Jan 2022 16:11:43 -0800
Subject: [PATCH 1/4] New package: R-cran-RInside-0.2.16

---
 common/shlibs                   | 16 ++++++++++++++++
 srcpkgs/R-cran-RInside/template | 12 ++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 srcpkgs/R-cran-RInside/template

diff --git a/common/shlibs b/common/shlibs
index 353e291f59d6..784375c7c9aa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4153,3 +4153,19 @@ librz_bin.so.0.3.4 rizin-0.3.4_1
 libaravis-0.8.so.0 libaravis-0.8.21_1
 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1
 libnvme.so.1 libnvme-1.0_1
+libRInside.so R-cran-RInside-0.2.16_1
+libXrdUtils.so.3 xrootd-5.4.0_1
+libXrdCl.so.3 xrootd-5.4.0_1
+libXrdServer.so.3 xrootd-5.4.0_1
+libXrdCrypto.so.2 xrootd-5.4.0_1
+libXrdPosix.so.3 xrootd-5.4.0_1
+libXrdHttpUtils.so.2 xrootd-5.4.0_1
+libXrdSsiLib.so.2 xrootd-5.4.0_1
+libXrdCryptoLite.so.2 xrootd-5.4.0_1
+libCore.so root-6.24.06_1
+libTree.so root-6.24.06_1
+libRIO.so root-6.24.06_1
+libMatrix.so root-6.24.06_1
+libThread.so root-6.24.06_1
+libTMVA.so root-6.24.06_1
+libMathCore.so root-6.24.06_1
diff --git a/srcpkgs/R-cran-RInside/template b/srcpkgs/R-cran-RInside/template
new file mode 100644
index 000000000000..9bd19d893cd1
--- /dev/null
+++ b/srcpkgs/R-cran-RInside/template
@@ -0,0 +1,12 @@
+# Template file for 'R-cran-RInside'
+pkgname=R-cran-RInside
+version=0.2.17
+revision=1
+build_style=R-cran
+makedepends="R-cran-Rcpp"
+short_desc="C++ classes to embed R in C++ (and C) applications"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://CRAN.R-project.org/package=RInside"
+checksum=0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348
+shlib_provides="libRInside.so"

From 486d3fbc5c0377fad858949c274139123eba0ce7 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:36:46 -0800
Subject: [PATCH 2/4] New package: xrootd-5.4.0

---
 srcpkgs/xrootd/patches/musl.patch | 227 ++++++++++++++++++++++++++++++
 srcpkgs/xrootd/template           |  21 +++
 2 files changed, 248 insertions(+)
 create mode 100644 srcpkgs/xrootd/patches/musl.patch
 create mode 100644 srcpkgs/xrootd/template

diff --git a/srcpkgs/xrootd/patches/musl.patch b/srcpkgs/xrootd/patches/musl.patch
new file mode 100644
index 000000000000..7dccd97d6c45
--- /dev/null
+++ b/srcpkgs/xrootd/patches/musl.patch
@@ -0,0 +1,227 @@
+diff --git a/src/Xrd/XrdConfig.hh b/src/Xrd/XrdConfig.hh
+index a06ad462f..702403d82 100644
+--- a/src/Xrd/XrdConfig.hh
++++ b/src/Xrd/XrdConfig.hh
+@@ -34,6 +34,11 @@
+ #include "Xrd/XrdProtLoad.hh"
+ #include "Xrd/XrdProtocol.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_mode_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdSysError;
+ class XrdTcpMonInfo;
+ class XrdNetSecurity;
+diff --git a/src/XrdAcc/XrdAccGroups.cc b/src/XrdAcc/XrdAccGroups.cc
+index e663fdd35..14c3b19d6 100644
+--- a/src/XrdAcc/XrdAccGroups.cc
++++ b/src/XrdAcc/XrdAccGroups.cc
+@@ -46,6 +46,14 @@
+ #include "XrdAcc/XrdAccGroups.hh"
+ #include "XrdAcc/XrdAccPrivs.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++int innetgr(const char *netgroup, const char *host, const char *user,
++             const char *domain)
++{
++   return 0;
++}
++#endif
++
+ // Additionally, this routine does not support a user in more than
+ // NGROUPS_MAX groups. This is a standard unix limit defined in limits.h.
+   
+diff --git a/src/XrdCl/XrdClFileStateHandler.hh b/src/XrdCl/XrdClFileStateHandler.hh
+index 9f9d8b91f..5ff49cbbc 100644
+--- a/src/XrdCl/XrdClFileStateHandler.hh
++++ b/src/XrdCl/XrdClFileStateHandler.hh
+@@ -42,6 +42,12 @@
+ #include <sys/uio.h>
+ #include <cstdint>
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace
+ {
+   class PgReadHandler;
+diff --git a/src/XrdCl/XrdClMonitor.hh b/src/XrdCl/XrdClMonitor.hh
+index 2fc753777..d22c3c275 100644
+--- a/src/XrdCl/XrdClMonitor.hh
++++ b/src/XrdCl/XrdClMonitor.hh
+@@ -43,6 +43,12 @@
+ 
+ #include "XrdCl/XrdClFileSystem.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_suseconds_t
++#define __NEED_struct_timeval
++#include <bits/alltypes.h>
++#endif
++
+ namespace XrdCl
+ {
+   class URL;
+diff --git a/src/XrdNet/XrdNetSecurity.cc b/src/XrdNet/XrdNetSecurity.cc
+index 0f8451127..e39b1ef4b 100644
+--- a/src/XrdNet/XrdNetSecurity.cc
++++ b/src/XrdNet/XrdNetSecurity.cc
+@@ -40,12 +40,14 @@
+ #include <sys/types.h>
+ #include <Winsock2.h>
+ #include <io.h>
++#include "XrdSys/XrdWin32.hh"
++#endif
++#if WIN32 || defined(__linux__) && !defined(__GLIBC__)
+ int innetgr(const char *netgroup, const char *host, const char *user,
+              const char *domain)
+ {
+    return 0;
+ }
+-#include "XrdSys/XrdWin32.hh"
+ #endif
+ 
+ #include "XrdNet/XrdNetAddr.hh"
+diff --git a/src/XrdPosix/XrdPosix.cc b/src/XrdPosix/XrdPosix.cc
+index 0f32dc2ee..b6dea957f 100644
+--- a/src/XrdPosix/XrdPosix.cc
++++ b/src/XrdPosix/XrdPosix.cc
+@@ -37,6 +37,9 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/uio.h>
++#if defined(__linux__) && !defined(_IO_ERR_SEEN)
++#include <stdio_ext.h>
++#endif
+ 
+ #include "XrdSys/XrdSysHeaders.hh"
+ #include "XrdPosix/XrdPosixLinkage.hh"
+@@ -311,8 +314,12 @@ size_t XrdPosix_Fread(void *ptr, size_t size, size_t nitems, FILE *stream)
+         if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+    else if (bytes < 0) stream->_flags |= _IO_ERR_SEEN;
+    else                stream->_flags |= _IO_EOF_SEEN;
++#else
++   else if (bytes < 0) __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+    else if (bytes < 0) stream->_flags |= __SEOF;
+    else                stream->_flags |= __SERR;
+@@ -482,7 +489,11 @@ size_t XrdPosix_Fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream
+    if (bytes > 0 && size) rc = bytes/size;
+ #ifndef SUNX86
+ #if defined(__linux__) || defined(__GNU__) || (defined(__FreeBSD_kernel__) && defined(__GLIBC__))
++#ifdef _IO_ERR_SEEN
+       else stream->_flags |= _IO_ERR_SEEN;
++#else
++      else  __fseterr(stream);
++#endif
+ #elif defined(__APPLE__) || defined(__FreeBSD__)
+       else stream->_flags |= __SERR;
+ #else
+diff --git a/src/XrdPosix/XrdPosixLinkage.hh b/src/XrdPosix/XrdPosixLinkage.hh
+index 903153252..b5cc6d4b4 100644
+--- a/src/XrdPosix/XrdPosixLinkage.hh
++++ b/src/XrdPosix/XrdPosixLinkage.hh
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ 
+ #include "XrdPosix/XrdPosixOsDep.hh"
++#include "XrdPosix/XrdPosixXrootd.hh"
+ #include "XrdSys/XrdSysPlatform.hh"
+ 
+ /******************************************************************************/
+diff --git a/src/XrdPosix/XrdPosixMap.hh b/src/XrdPosix/XrdPosixMap.hh
+index ac2da483a..a15602787 100644
+--- a/src/XrdPosix/XrdPosixMap.hh
++++ b/src/XrdPosix/XrdPosixMap.hh
+@@ -36,6 +36,11 @@
+ #include "XrdCl/XrdClFileSystem.hh"
+ #include "XrdCl/XrdClXRootDResponses.hh"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++#define __NEED_dev_t
++#include <bits/alltypes.h>
++#endif
++
+ class XrdPosixMap
+ {
+ public:
+diff --git a/src/XrdPosix/XrdPosixPreload.cc b/src/XrdPosix/XrdPosixPreload.cc
+index 867b73479..d967c53b3 100644
+--- a/src/XrdPosix/XrdPosixPreload.cc
++++ b/src/XrdPosix/XrdPosixPreload.cc
+@@ -42,6 +42,22 @@
+ 
+ #include "XrdPosix/XrdPosixExtern.hh"
+  
++#ifdef creat64
++#undef creat64
++#undef fseeko64
++#undef ftello64
++#undef ftruncate64
++#undef lseek64
++#undef open64
++#undef pread64
++#undef pwrite64
++#undef readdir64
++#undef readdir64_r
++#undef statfs64
++#undef statvfs64
++#undef truncate64
++#endif
++
+ /******************************************************************************/
+ /*                   G l o b a l   D e c l a r a t i o n s                    */
+ /******************************************************************************/
+diff --git a/src/XrdSys/XrdSysPlatform.hh b/src/XrdSys/XrdSysPlatform.hh
+index a1ac544ad..eaeaeabac 100644
+--- a/src/XrdSys/XrdSysPlatform.hh
++++ b/src/XrdSys/XrdSysPlatform.hh
+@@ -241,16 +241,8 @@ extern "C"
+ #if defined(_AIX) || \
+    (defined(XR__SUNGCC3) && !defined(__arch64__))
+ #   define SOCKLEN_t size_t
+-#elif defined(XR__GLIBC) || \
+-   defined(__FreeBSD__) || \
+-   (defined(__FreeBSD_kernel__) && defined(__GLIBC__)) || \
+-   (defined(XR__SUNGCC3) && defined(__arch64__)) || defined(__APPLE__) || \
+-   (defined(__sun) && defined(_SOCKLEN_T))
+-#   ifndef SOCKLEN_t
+-#      define SOCKLEN_t socklen_t
+-#   endif
+ #elif !defined(SOCKLEN_t)
+-#   define SOCKLEN_t int
++#   define SOCKLEN_t socklen_t
+ #endif
+ 
+ #ifdef _LP64
+diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh
+index 17f8fd0be..78741a7dc 100644
+--- a/src/XrdSys/XrdSysPthread.hh
++++ b/src/XrdSys/XrdSysPthread.hh
+@@ -351,7 +351,7 @@ enum PrefType {prefWR=1};
+ 
+         XrdSysRWLock(PrefType ptype)
+                     {
+-#ifdef __linux__
++#ifdef __GLIBC__
+                      pthread_rwlockattr_t attr;
+                      pthread_rwlockattr_setkind_np(&attr,
+                              PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+@@ -367,7 +367,7 @@ enum PrefType {prefWR=1};
+ inline void ReInitialize(PrefType ptype)
+ {
+   pthread_rwlock_destroy(&lock);
+-#ifdef __linux__
++#ifdef __GLIBC__
+   pthread_rwlockattr_t attr;
+   pthread_rwlockattr_setkind_np(&attr,
+                      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
diff --git a/srcpkgs/xrootd/template b/srcpkgs/xrootd/template
new file mode 100644
index 000000000000..2bd0b59714c2
--- /dev/null
+++ b/srcpkgs/xrootd/template
@@ -0,0 +1,21 @@
+# Template file for 'xrootd'
+pkgname=xrootd
+version=5.4.2
+revision=1
+build_style=cmake
+makedepends="zlib-devel openssl-devel libuuid-devel readline-devel"
+short_desc="Low latency, scalable and fault tolerant access to data"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://xrootd.slac.stanford.edu"
+distfiles="http://xrootd.org/download/v${version}/xrootd-${version}.tar.gz"
+checksum=d868ba5d8b71ec38f7a113d2d8f3e25bbcedc1bc23d21bba1686ddfdb2b900c1
+
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo"
+	makedepends+=" libexecinfo-devel"
+fi
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	configure_args+=" -DCMAKE_EXE_LINKER_FLAGS=-latomic"
+	makedepends+=" libatomic-devel"
+fi

From 7e554d115d204d73f13bfc6f3c9ea877330f52aa Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Tue, 11 Jan 2022 12:38:46 -0800
Subject: [PATCH 3/4] New package: libvdt-0.4.3

---
 srcpkgs/libvdt-devel    |  1 +
 srcpkgs/libvdt/template | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 120000 srcpkgs/libvdt-devel
 create mode 100644 srcpkgs/libvdt/template

diff --git a/srcpkgs/libvdt-devel b/srcpkgs/libvdt-devel
new file mode 120000
index 000000000000..25fca34b3833
--- /dev/null
+++ b/srcpkgs/libvdt-devel
@@ -0,0 +1 @@
+libvdt
\ No newline at end of file
diff --git a/srcpkgs/libvdt/template b/srcpkgs/libvdt/template
new file mode 100644
index 000000000000..3caa629d6eb2
--- /dev/null
+++ b/srcpkgs/libvdt/template
@@ -0,0 +1,28 @@
+# Template file for 'libvdt'
+pkgname=libvdt
+version=0.4.3
+revision=1
+wrksrc="vdt-${version}"
+build_style=cmake
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*|arm*)
+	configure_args="-DSSE=OFF -DNEON=OFF"
+	make_cmd=make
+	export CMAKE_GENERATOR="Unix Makefiles"
+	;;
+esac
+hostmakedepends="python3"
+short_desc="Collection of fast and inline implementations of mathematical functions"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/dpiparo/vdt"
+distfiles="https://github.com/dpiparo/vdt/archive/refs/tags/v${version}.tar.gz"
+checksum=705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1
+
+libvdt-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 34bea43dfcefb5813e374ef880157c03c1f59793 Mon Sep 17 00:00:00 2001
From: Ben Jargowsky <benjar63@gmail.com>
Date: Mon, 20 Dec 2021 23:55:36 -0500
Subject: [PATCH 4/4] New package: root-6.26.02

---
 srcpkgs/python3-pyroot          |  1 +
 srcpkgs/root-R                  |  1 +
 srcpkgs/root/INSTALL.msg        |  3 ++
 srcpkgs/root/patches/musl.patch | 21 +++++++++++
 srcpkgs/root/template           | 66 +++++++++++++++++++++++++++++++++
 5 files changed, 92 insertions(+)
 create mode 120000 srcpkgs/python3-pyroot
 create mode 120000 srcpkgs/root-R
 create mode 100644 srcpkgs/root/INSTALL.msg
 create mode 100644 srcpkgs/root/patches/musl.patch
 create mode 100644 srcpkgs/root/template

diff --git a/srcpkgs/python3-pyroot b/srcpkgs/python3-pyroot
new file mode 120000
index 000000000000..93ca1422a8da
--- /dev/null
+++ b/srcpkgs/python3-pyroot
@@ -0,0 +1 @@
+root
\ No newline at end of file
diff --git a/srcpkgs/root-R b/srcpkgs/root-R
new file mode 120000
index 000000000000..93ca1422a8da
--- /dev/null
+++ b/srcpkgs/root-R
@@ -0,0 +1 @@
+root
\ No newline at end of file
diff --git a/srcpkgs/root/INSTALL.msg b/srcpkgs/root/INSTALL.msg
new file mode 100644
index 000000000000..4d92c4ced6bc
--- /dev/null
+++ b/srcpkgs/root/INSTALL.msg
@@ -0,0 +1,3 @@
+Before using ROOT, source 'thisroot.sh' to set up environmental variables.
+
+$ source /usr/bin/thisroot.sh # also available: thisroot.{csh,fish}
diff --git a/srcpkgs/root/patches/musl.patch b/srcpkgs/root/patches/musl.patch
new file mode 100644
index 000000000000..7605e91675a3
--- /dev/null
+++ b/srcpkgs/root/patches/musl.patch
@@ -0,0 +1,21 @@
+diff --git a/core/thread/src/TPosixThread.cxx b/core/thread/src/TPosixThread.cxx
+index 1e879c1c3a..4e1245baeb 100644
+--- a/core/thread/src/TPosixThread.cxx
++++ b/core/thread/src/TPosixThread.cxx
+@@ -37,13 +37,13 @@ Int_t TPosixThread::Run(TThread *th, const int affinity)
+    pthread_attr_init(attr);
+    
+    if (affinity >= 0) {
+-   #ifdef R__MACOSX
+-      Warning("Run", "Affinity setting not yet implemented on MacOS");
+-   #else
++   #ifdef __GLIBC__
+       cpu_set_t cpuset;
+       CPU_ZERO(&cpuset);
+       CPU_SET(affinity, &cpuset);
+       pthread_attr_setaffinity_np(attr, sizeof(cpu_set_t), &cpuset);
++   #else
++      Warning("Run", "Affinity setting not yet implemented on this platform");
+    #endif
+    }
+ 
diff --git a/srcpkgs/root/template b/srcpkgs/root/template
new file mode 100644
index 000000000000..bfc8cb6d8a3b
--- /dev/null
+++ b/srcpkgs/root/template
@@ -0,0 +1,66 @@
+# Template file for 'root'
+pkgname=root
+version=6.26.02
+revision=1
+# Only i686 and x86_64 seem to be officially supported
+archs="i686* x86_64*"
+build_style=cmake
+configure_args="-Dgnuinstall=ON -Druntime_cxxmodules=OFF
+ -Dclad=OFF $(vopt_if fortran '-Dfortran=ON')
+ -DXROOTD_XrdCl_LIBRARY=/usr/lib/libXrdCl.so.3
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/root -Dr=ON
+ -DCMAKE_INSTALL_SYSCONFDIR='libexec/root'
+ $(vopt_if root7 '-Droot7=ON -DCMAKE_CXX_STANDARD=17 -Dwebgui=ON')
+ -DCMAKE_INSTALL_PYTHONDIR=${py3_sitelib/'usr/'}"
+hostmakedepends="gcc-fortran"
+makedepends="libX11-devel libXpm-devel libXft-devel libXext-devel
+ openssl-devel libpng-devel readline-devel tbb-devel liblz4-devel
+ pcre-devel xxHash-devel libzstd-devel liblzma-devel libvdt-devel
+ libxml2-devel python3-devel python3-numpy R-cran-Rcpp R-cran-RInside
+ xrootd"
+depends="gcc"
+case "$XBPS_TARGET_MACHINE" in
+	*-musl)
+	configure_args+=" -Dssl=OFF"
+	;;
+esac
+short_desc="C++ framework for data processing created by CERN"
+maintainer="Ben Jargowsky <benjar63@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://root.cern"
+distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
+checksum=7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb
+build_options="fortran root7"
+build_options_default="fortran"
+python_version=3
+shlib_provides="libCore.so libTree.so libRIO.so libMatrix.so libThread.so
+ libTMVA.so libMathCore.so"
+
+post_install() {
+	rm -v ${DESTDIR}/usr/share/root/fonts/LICENSE
+	rm -v ${DESTDIR}/usr/share/root/fonts/[a-mt-z]*.ttf
+}
+
+python3-pyroot_package() {
+	short_desc="Python interface to ROOT"
+	depends="root>=${version}_${revision} python3"
+	pkg_install() {
+		vmove ${py3_sitelib}
+	}
+}
+root-R_package() {
+	short_desc="ROOT interface to R"
+	depends="root>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/root/RExports.h
+		vmove usr/include/root/TRDataFrame.h
+		vmove usr/include/root/TRFunctionExport.h
+		vmove usr/include/root/TRFunctionImport.h
+		vmove usr/include/root/TRInterface.h
+		vmove usr/include/root/TRInternalFunction.h
+		vmove usr/include/root/TRObject.h
+		vmove usr/lib/root/libRInterface.so
+		vmove usr/lib/root/libRMVA.so
+		vmove usr/lib/root/libRtools.so
+	}
+}

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

* Re: [PR PATCH] [Merged]: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (98 preceding siblings ...)
  2022-05-05 21:43 ` [PR PATCH] [Updated] " BenJarg
@ 2022-05-07 17:39 ` Chocimier
  2022-06-04 11:14 ` q66
                   ` (3 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-05-07 17:39 UTC (permalink / raw)
  To: ml

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

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

New package: root-6.24.06
https://github.com/void-linux/void-packages/pull/34647

Description:
- I tested the changes in this PR: YES

- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): YES

- I built this PR locally for my native architectures (x86_64-glibc and x86_64-musl)


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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (99 preceding siblings ...)
  2022-05-07 17:39 ` [PR PATCH] [Merged]: " Chocimier
@ 2022-06-04 11:14 ` q66
  2022-06-04 14:26 ` BenJarg
                   ` (2 subsequent siblings)
  103 siblings, 0 replies; 105+ messages in thread
From: q66 @ 2022-06-04 11:14 UTC (permalink / raw)
  To: ml

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

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1146590256

Comment:
this package breaks qtcreator, because it results in it `shlib-depending` on `libCore.so`, which is now listed in `common/shlibs` and points to this package, even though it's irrelevant and only available on some platforms

@Chocimier 

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (100 preceding siblings ...)
  2022-06-04 11:14 ` q66
@ 2022-06-04 14:26 ` BenJarg
  2022-06-04 14:31 ` Chocimier
  2022-06-04 15:38 ` q66
  103 siblings, 0 replies; 105+ messages in thread
From: BenJarg @ 2022-06-04 14:26 UTC (permalink / raw)
  To: ml

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

New comment by BenJarg on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1146622801

Comment:
@q66 Ok, what would be the easiest way to resolve this? I believe those libraries are there for the `root` sub packages.

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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (101 preceding siblings ...)
  2022-06-04 14:26 ` BenJarg
@ 2022-06-04 14:31 ` Chocimier
  2022-06-04 15:38 ` q66
  103 siblings, 0 replies; 105+ messages in thread
From: Chocimier @ 2022-06-04 14:31 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1146623638

Comment:
Oops sorry, haven't noticed as i have both installed.

Easiest way is to fix is to add `libCore.so` entry for qtcreator, will push later on.


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

* Re: New package: root-6.24.06
  2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
                   ` (102 preceding siblings ...)
  2022-06-04 14:31 ` Chocimier
@ 2022-06-04 15:38 ` q66
  103 siblings, 0 replies; 105+ messages in thread
From: q66 @ 2022-06-04 15:38 UTC (permalink / raw)
  To: ml

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

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/34647#issuecomment-1146636768

Comment:
that seems pretty fragile though, because these names seem pretty generic/random and it's hard to tell when an accidental dependency is added

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

end of thread, other threads:[~2022-06-04 15:38 UTC | newest]

Thread overview: 105+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-21 16:55 [PR PATCH] New package: root-6.24.06 BenJarg
2021-12-21 16:59 ` [PR REVIEW] " Duncaen
2021-12-21 20:35 ` [PR PATCH] [Updated] " BenJarg
2021-12-21 20:48 ` [PR REVIEW] " BenJarg
2021-12-22  3:00 ` [PR PATCH] [Updated] " BenJarg
2021-12-23  2:47 ` BenJarg
2021-12-23  9:45 ` balejk
2021-12-23 17:24 ` BenJarg
2021-12-23 17:55 ` [PR PATCH] [Updated] " BenJarg
2021-12-24  0:17 ` BenJarg
2021-12-30 18:25 ` [PR PATCH] [Updated] " BenJarg
2021-12-30 22:22 ` Chocimier
2021-12-31  2:27 ` [PR PATCH] [Updated] " BenJarg
2021-12-31  2:40 ` BenJarg
2022-01-02 21:24 ` balejk
2022-01-02 21:34 ` balejk
2022-01-02 23:33 ` BenJarg
2022-01-03  7:43 ` [PR PATCH] [Updated] " BenJarg
2022-01-03  8:30 ` BenJarg
2022-01-03  9:22 ` balejk
2022-01-03  9:55 ` [PR PATCH] [Updated] " BenJarg
2022-01-03 10:04 ` BenJarg
2022-01-03 10:06 ` BenJarg
2022-01-03 11:03 ` balejk
2022-01-03 11:04 ` balejk
2022-01-05  2:53 ` [PR PATCH] [Updated] " BenJarg
2022-01-05  3:00 ` BenJarg
2022-01-05 14:37 ` balejk
2022-01-05 20:50 ` [PR PATCH] [Updated] " BenJarg
2022-01-05 20:57 ` BenJarg
2022-01-06 23:35 ` BenJarg
2022-01-07 22:06 ` [PR PATCH] [Updated] " BenJarg
2022-01-07 22:09 ` BenJarg
2022-01-10 18:29 ` Chocimier
2022-01-10 21:10 ` balejk
2022-01-11 23:25 ` [PR PATCH] [Updated] " BenJarg
2022-01-11 23:38 ` BenJarg
2022-01-11 23:39 ` BenJarg
2022-01-11 23:39 ` BenJarg
2022-01-11 23:39 ` BenJarg
2022-01-12  8:35 ` balejk
2022-01-13  2:48 ` [PR PATCH] [Updated] " BenJarg
2022-01-13  2:53 ` BenJarg
2022-01-13  5:00 ` [PR PATCH] [Updated] " BenJarg
2022-01-13  5:06 ` BenJarg
2022-01-13  5:10 ` [PR PATCH] [Updated] " BenJarg
2022-01-13  6:09 ` BenJarg
2022-01-17  7:32 ` BenJarg
2022-01-17  7:33 ` BenJarg
2022-01-18  0:13 ` [PR PATCH] [Updated] " BenJarg
2022-01-18  0:14 ` BenJarg
2022-01-18  1:38 ` [PR PATCH] [Updated] " BenJarg
2022-01-20 20:40 ` Chocimier
2022-01-21  3:47 ` [PR PATCH] [Updated] " BenJarg
2022-01-21  4:09 ` BenJarg
2022-01-28 18:31 ` [PR REVIEW] " Chocimier
2022-01-28 18:31 ` Chocimier
2022-01-28 18:31 ` Chocimier
2022-01-28 18:31 ` Chocimier
2022-01-28 18:31 ` Chocimier
2022-01-28 20:06 ` BenJarg
2022-01-28 20:33 ` [PR PATCH] [Updated] " BenJarg
2022-01-28 20:45 ` [PR REVIEW] " BenJarg
2022-01-28 21:30 ` [PR PATCH] [Updated] " BenJarg
2022-01-28 21:32 ` [PR REVIEW] " BenJarg
2022-01-28 21:38 ` Chocimier
2022-01-28 22:12 ` [PR PATCH] [Updated] " BenJarg
2022-01-28 22:51 ` [PR REVIEW] " BenJarg
2022-01-29  0:22 ` BenJarg
2022-01-29 18:52 ` Chocimier
2022-01-29 21:29 ` [PR PATCH] [Updated] " BenJarg
2022-01-29 21:30 ` [PR REVIEW] " BenJarg
2022-02-23 19:45 ` [PR PATCH] [Updated] " BenJarg
2022-02-24  5:57 ` BenJarg
2022-02-24  6:04 ` [PR REVIEW] " BenJarg
2022-03-01 18:43 ` Chocimier
2022-03-01 23:44 ` [PR PATCH] [Updated] " BenJarg
2022-03-01 23:58 ` [PR REVIEW] " BenJarg
2022-03-02 21:19 ` BenJarg
2022-03-10 21:14 ` [PR PATCH] [Updated] " BenJarg
2022-03-10 21:15 ` BenJarg
2022-03-10 21:20 ` BenJarg
2022-03-15 20:41 ` Chocimier
2022-03-17  5:24 ` [PR PATCH] [Updated] " BenJarg
2022-03-17  5:27 ` BenJarg
2022-04-04  5:38 ` [PR PATCH] [Updated] " BenJarg
2022-04-06  2:18 ` BenJarg
2022-04-20  2:24 ` BenJarg
2022-04-20 16:20 ` [PR REVIEW] " Chocimier
2022-04-20 16:20 ` Chocimier
2022-04-20 16:20 ` Chocimier
2022-04-20 16:20 ` Chocimier
2022-04-20 17:24 ` BenJarg
2022-04-20 17:25 ` [PR PATCH] [Updated] " BenJarg
2022-04-20 18:46 ` BenJarg
2022-04-20 19:05 ` [PR REVIEW] " BenJarg
2022-04-21 16:19 ` Chocimier
2022-04-21 19:49 ` [PR PATCH] [Updated] " BenJarg
2022-04-21 19:51 ` BenJarg
2022-05-05 21:43 ` [PR PATCH] [Updated] " BenJarg
2022-05-07 17:39 ` [PR PATCH] [Merged]: " Chocimier
2022-06-04 11:14 ` q66
2022-06-04 14:26 ` BenJarg
2022-06-04 14:31 ` Chocimier
2022-06-04 15:38 ` q66

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).