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
                   ` (53 more replies)
  0 siblings, 54 replies; 55+ 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] 55+ 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
                   ` (52 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (51 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (50 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (49 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (48 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (47 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (46 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (45 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (44 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (43 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (42 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (41 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (40 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (39 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (38 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (37 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (36 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (35 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (34 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (33 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (32 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (31 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (30 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (29 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (28 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (27 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (26 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (25 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (24 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (23 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (22 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (21 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (20 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (19 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (18 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (17 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (16 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (15 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (14 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (13 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (12 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (11 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (10 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (9 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (8 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (7 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (6 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (5 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (4 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (3 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
                   ` (2 subsequent siblings)
  53 siblings, 0 replies; 55+ 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] 55+ 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
  2022-01-21  4:09 ` BenJarg
  53 siblings, 0 replies; 55+ 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] 55+ 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
  53 siblings, 0 replies; 55+ 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] 55+ 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
  53 siblings, 0 replies; 55+ 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] 55+ messages in thread

end of thread, other threads:[~2022-01-21  4:09 UTC | newest]

Thread overview: 55+ 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

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).