From 6295f37a70d50a32011b5a1ee7793fea329cd5f2 Mon Sep 17 00:00:00 2001 From: Crucible Date: Thu, 24 Sep 2026 16:55:33 -0500 Subject: Publish srcux candidate 0000000383-20260924-165302 --- dev-cpp/aws-crt-cpp/Manifest | 1 - dev-cpp/aws-crt-cpp/aws-crt-cpp-0.43.7.ebuild | 55 -- dev-cpp/aws-sdk-cpp/Manifest | 1 - dev-cpp/aws-sdk-cpp/aws-sdk-cpp-1.11.887.ebuild | 69 --- dev-cpp/aws-sdk-cpp/files/mnt_check_aws_groups | 77 --- dev-cpp/cairomm/Manifest | 1 - dev-cpp/cairomm/cairomm-1.18.1.ebuild | 58 -- dev-cpp/eigen/Manifest | 1 + dev-cpp/eigen/eigen-3.4.0-r3.ebuild | 458 +++++++++++++++ dev-cpp/eigen/eigen-3.4.1-r1.ebuild | 653 --------------------- dev-cpp/eigen/eigen-3.4.1.ebuild | 651 ++++++++++++++++++++ dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch | 108 ++++ dev-cpp/eigen/files/eigen-3.4.0-noansi.patch | 18 + dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch | 195 ++++++ .../eigen/files/eigen-3.4.1-fix-Werror-undef.patch | 19 - dev-cpp/gtkmm/Manifest | 2 +- dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild | 53 ++ dev-cpp/gtkmm/gtkmm-4.20.0.ebuild | 52 ++ dev-cpp/gtkmm/gtkmm-4.22.0.ebuild | 65 -- dev-cpp/libcmis/Manifest | 1 + .../libcmis/files/libcmis-0.6.2-boost-1.86.patch | 47 ++ .../files/libcmis-0.6.2-fix-sha1-test.patch | 45 ++ .../libcmis/files/libcmis-0.6.2-libxml2-2.12.patch | 26 + dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild | 73 +++ dev-cpp/libcmis/libcmis-0.6.3.ebuild | 2 +- dev-cpp/msgpack-cxx/Manifest | 1 - dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild | 59 -- 27 files changed, 1730 insertions(+), 1061 deletions(-) delete mode 100644 dev-cpp/aws-crt-cpp/aws-crt-cpp-0.43.7.ebuild delete mode 100644 dev-cpp/aws-sdk-cpp/aws-sdk-cpp-1.11.887.ebuild delete mode 100755 dev-cpp/aws-sdk-cpp/files/mnt_check_aws_groups delete mode 100644 dev-cpp/cairomm/cairomm-1.18.1.ebuild create mode 100644 dev-cpp/eigen/eigen-3.4.0-r3.ebuild delete mode 100644 dev-cpp/eigen/eigen-3.4.1-r1.ebuild create mode 100644 dev-cpp/eigen/eigen-3.4.1.ebuild create mode 100644 dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch create mode 100644 dev-cpp/eigen/files/eigen-3.4.0-noansi.patch create mode 100644 dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch delete mode 100644 dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch create mode 100644 dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild create mode 100644 dev-cpp/gtkmm/gtkmm-4.20.0.ebuild delete mode 100644 dev-cpp/gtkmm/gtkmm-4.22.0.ebuild create mode 100644 dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch create mode 100644 dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch create mode 100644 dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch create mode 100644 dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild delete mode 100644 dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild (limited to 'dev-cpp') diff --git a/dev-cpp/aws-crt-cpp/Manifest b/dev-cpp/aws-crt-cpp/Manifest index b69d888859a8..a8d2d5aa0da9 100644 --- a/dev-cpp/aws-crt-cpp/Manifest +++ b/dev-cpp/aws-crt-cpp/Manifest @@ -1,4 +1,3 @@ DIST aws-crt-cpp-0.35.4.tar.gz 377147 BLAKE2B 9011b1191d5403c5e106c20a1420d4595c873e05a3ce2844198604e22c47544f50d1060ef35989e58d5bf1601078390d68d2e08aa4bc49ce37a95d9d5373562b SHA512 a8620827869be5465828d400f9cefe38e6030982ef45e7b780c84c68b403d1adc74f59c7b4626d84e730c0e197977430e9c5f5b78992fd3c0092d4ecab8a990b DIST aws-crt-cpp-0.42.3.tar.gz 401899 BLAKE2B 3e0f90e8b77b59c8edda62a2fedaa93f860a6e22a2328f684e231d17ad9c34218b005f4577fb758d4800aef2b12931cc062acf622580d5720c9827f9f7d37a43 SHA512 318496a5823a802b8eb619eb1a42816efb2508d097168a5f4d73169c01ebfdfbe470739f35712a77a1e486408f8de4440e5b7483a8ca334c69571c6ceef459c6 DIST aws-crt-cpp-0.43.6.tar.gz 417290 BLAKE2B b0956785c2b875e94426c0c2f08a656db211c5b869ae76e6df85d88c672c1d727ff9c5bd21ed91e200ed88933c57f06df608ce0d700e1d08a4bca4ef23c288f1 SHA512 4c72a700ef7f76ca870896edcafa8526567306d1d202b1dbb9397deab4d77f309cbb8b786bbdf25b775baab9cb9a19bc925b973cf4752810b4b8855ef846f856 -DIST aws-crt-cpp-0.43.7.tar.gz 418294 BLAKE2B 94dd54730662d5cb3a77ca6feb64ed6d5ffbe0f9cd49fc4700e4c789fd38cf2d2ffd4c3d09c14ab1c725f9db235b64cef9bb8529457bead688ff0e0adf47f596 SHA512 314bfa9eb14167e8ca6e6f3b959c05bbb28c0ba143b1b1ef3884c1bde7411c2ba1089816d73016354f480a442f4f3706361656225e2b84aa732fc5b071d5a264 diff --git a/dev-cpp/aws-crt-cpp/aws-crt-cpp-0.43.7.ebuild b/dev-cpp/aws-crt-cpp/aws-crt-cpp-0.43.7.ebuild deleted file mode 100644 index c2739af2c1c8..000000000000 --- a/dev-cpp/aws-crt-cpp/aws-crt-cpp-0.43.7.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2025-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="C++ wrapper around the aws-c-* libraries" -HOMEPAGE="https://github.com/awslabs/aws-crt-cpp" -SRC_URI="https://github.com/awslabs/aws-crt-cpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" - -RESTRICT="!test? ( test )" - -DEPEND=" - dev-libs/aws-c-auth:= - dev-libs/aws-c-cal:= - dev-libs/aws-c-common:= - dev-libs/aws-c-event-stream:= - dev-libs/aws-c-http:= - dev-libs/aws-c-io:= - dev-libs/aws-c-mqtt:= - dev-libs/aws-c-s3:= - dev-libs/aws-c-sdkutils:= - dev-libs/aws-checksums:= -" -RDEPEND="${DEPEND}" -BDEPEND="dev-libs/aws-c-common" - -src_configure() -{ - local mycmakeargs=( - -DBUILD_DEPS=OFF # disable embedded 3rd-party repositories. - -DBUILD_TESTING=$(usex test) - ) - - use test && mycmakeargs+=( - -DENABLE_NET_TESTS=OFF # Network Sandbox cause these to fail. - ) - - cmake_src_configure -} - -src_install() -{ - cmake_src_install - - if use test; then - rm -r "${D}/usr/bin" || die "Error removing testbinaries from /usr/bin" - fi -} diff --git a/dev-cpp/aws-sdk-cpp/Manifest b/dev-cpp/aws-sdk-cpp/Manifest index f1b746dba18c..db1344cc4453 100644 --- a/dev-cpp/aws-sdk-cpp/Manifest +++ b/dev-cpp/aws-sdk-cpp/Manifest @@ -1,3 +1,2 @@ DIST aws-sdk-cpp-1.11.712.tar.gz 80207334 BLAKE2B ae221b828a6b57bacb6a66725e827dd5cc2242e0dcb1434a9d5724ad20b4dd2e3796bca25ec0d490f90195c86d33ca312d60bb32cad44d419235d4a6e359d5ba SHA512 bbf220d3188111f6e93c8f0a36d62be05bf844e9745d1e214a419c2c15b2d7f0abb642b2eff8f47113a1925bf94bdd983db618e5940f3c30a4deed00994b08d6 DIST aws-sdk-cpp-1.11.764.tar.gz 81899504 BLAKE2B 87494fb5cdd79c97583b633b3268ac5cb7aa08152f8fa8494ea35b8552adae16fd9f5255667bdb5f55814dc5019d7c28d4022a2a68fd0bf8ecf4258b29c8a5d9 SHA512 41a4cbfedaf35b22a3f30fd3bb6cbd89ae2df9f62127db93a9a1a6405fc1c019695db4bd944ce0206a6cb812b5c2f028ca2b40d5d1780f37480813f8ee086549 -DIST aws-sdk-cpp-1.11.887.tar.gz 88687601 BLAKE2B fe70b4833e3629469da61c8af0c6bc0c4d7b46504524737ce18406232721fced255fb627b1b603c3d22d68ed1d838af951803d3b785186e4ac25c9011a2b7f26 SHA512 874be6a7b33be2197d529b49c8148ddb65a2831dd09d50ecfa6d3df1cf36727c3ba6b3f0d4ff2e664cc7b51e9f2a39e759cd6c523d63eef220b8c18d8ed2eee5 diff --git a/dev-cpp/aws-sdk-cpp/aws-sdk-cpp-1.11.887.ebuild b/dev-cpp/aws-sdk-cpp/aws-sdk-cpp-1.11.887.ebuild deleted file mode 100644 index 4b38a59442e7..000000000000 --- a/dev-cpp/aws-sdk-cpp/aws-sdk-cpp-1.11.887.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2025-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="AWS SDK for C++" -HOMEPAGE="https://github.com/aws/aws-sdk-cpp" -SRC_URI="https://github.com/aws/aws-sdk-cpp/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -inherit cmake - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -# BUILD_ONLY lists -declare -g -A AWS_GROUPS=( - [analytics]="amp;amplify;amplifybackend;amplifyuibuilder;appflow;appintegrations;athena;cleanrooms;cleanroomsml;cloudsearch;cloudsearchdomain;databrew;dataexchange;datapipeline;datazone;dsql;entityresolution;finspace;finspace-data;firehose;forecast;forecastquery;glue;kafka;kafkaconnect;kinesisanalytics;kinesisanalyticsv2;lakeformation;lookoutequipment;machinelearning;mwaa;mwaa-serverless;omics;pi;quicksight;repostspace" - [compute]="apigateway;apigatewaymanagementapi;apigatewayv2;application-autoscaling;apprunner;appstream;appsync;autoscaling;autoscaling-plans;batch;compute-optimizer;compute-optimizer-automation;ec2;ec2-instance-connect;ecr;ecr-public;ecs;eks;eks-auth;elasticbeanstalk;elasticfilesystem;elasticloadbalancing;elasticloadbalancingv2;elasticmapreduce;emr-containers;emr-serverless;imagebuilder;lambda;lambda-core;lambda-microvms;lightsail;m2;outposts;s3outposts;states;swf;workspaces-instances" - [database]="clouddirectory;dax;docdb;docdb-elastic;dynamodb;dynamodbstreams;elasticache;es;keyspaces;memorydb;neptune;neptunedata;neptune-graph;odb;opensearch;opensearchserverless;osis;rds;rds-data;redshift;redshift-data;redshift-serverless;sdb;simpledbv2;timestream-influxdb;timestream-query;timestream-write" - [devops]="artifact;b2bi;cloud9;codeartifact;codebuild;codecatalyst;codecommit;codeconnections;codedeploy;codeguruprofiler;codeguru-reviewer;codepipeline;codestar-connections;codestar-notifications;devicefarm;gamelift;gameliftstreams;keyspacesstreams;mturk-requester;proton;schemas;serverlessrepo" - [iot]="greengrass;greengrassv2;groundstation;iot;iot-data;iotdeviceadvisor;iotfleetwise;iot-jobs-data;iot-managed-integrations;iotsecuretunneling;iotsitewise;iotthingsgraph;iottwinmaker;iotwireless" - [management]="account;appconfig;appconfigdata;applicationcostprofiler;application-insights;application-signals;AWSMigrationHub;bcm-data-exports;bcm-pricing-calculator;billing;billingconductor;budgets;ce;cloudcontrol;cloudformation;cloudtrail;cloudtrail-data;controlcatalog;controltower;cost-optimization-hub;cur;discovery;dlm;dms;drs;fms;invoicing;launch-wizard;license-manager;license-manager-linux-subscriptions;license-manager-user-subscriptions;marketplace-agreement;marketplace-catalog;marketplacecommerceanalytics;marketplace-deployment;marketplace-discovery;marketplace-entitlement;marketplace-reporting;meteringmarketplace;mgn;migrationhub-config;migrationhuborchestrator;migration-hub-refactor-spaces;migrationhubstrategy;mpa;organizations;partnercentral-account;partnercentral-benefits;partnercentral-channel;partnercentral-revenue-measurement;partnercentral-selling;pricing-plan-manager;ram;resource-explorer-2;resource-groups;resourcegroupstaggingapi;savingsplans;servicecatalog;servicecatalog-appregistry;service-quotas;ssm;ssm-contacts;ssm-guiconnect;ssm-incidents;ssm-quicksetup;ssm-sap;supplychain;support;support-app;taxsettings;workspaces;workspaces-thin-client;workspaces-web" - [media]="deadline;elementalinference;ivs;ivschat;ivs-realtime;kinesis;kinesisvideo;kinesis-video-archived-media;kinesis-video-media;kinesis-video-signaling;kinesis-video-webrtc-storage;mediaconnect;mediaconvert;medialive;mediatailor;voice-id" - [messaging]="chatbot;chime;chime-sdk-identity;chime-sdk-media-pipelines;chime-sdk-meetings;chime-sdk-messaging;chime-sdk-voice;connect;connectcampaigns;connectcampaignsv2;connectcases;connect-contact-lens;connectparticipant;customer-profiles;email;eventbridge;mailmanager;mq;notifications;notificationscontacts;pinpoint;pinpoint-email;pinpoint-sms-voice-v2;pipes;rum;scheduler;sesv2;sms-voice;sns;socialmessaging;sqs;sustainability;uxc;wickr;wisdom;workmail;workmailmessageflow" - [ml]="agent-registry;agent-registry-control;bedrock;bedrock-agent;bedrock-agent-runtime;bedrock-data-automation;bedrock-data-automation-runtime;bedrock-runtime;comprehend;comprehendmedical;frauddetector;kendra;kendra-ranking;lex;lex-models;lexv2-models;lexv2-runtime;medical-imaging;personalize;personalize-events;personalize-runtime;polly;qapps;qbusiness;qconnect;rekognition;sagemaker;sagemaker-a2i-runtime;sagemaker-edge;sagemaker-featurestore-runtime;sagemaker-geospatial;sagemakerjobruntime;sagemaker-metrics;sagemaker-runtime;sagemaker-runtime-http2;textract;transcribe;transcribestreaming;translate" - [monitor]="aiops;appfabric;config;devops-agent;devops-guru;fis;grafana;health;healthlake;inspector;inspector2;inspector-scan;internetmonitor;logs;monitoring;oam;observabilityadmin;resiliencehub;resiliencehubv2;security-ir;synthetics;trustedadvisor;wellarchitected;xray" - [networking]="appmesh;arc-zonal-shift;cloudfront;cloudfront-keyvaluestore;directconnect;geo-maps;geo-places;geo-routes;globalaccelerator;interconnect;location;network-firewall;networkflowmonitor;networkmanager;networkmonitor;route53;route53domains;route53globalresolver;route53profiles;route53-recovery-cluster;route53-recovery-control-config;route53-recovery-readiness;route53resolver;servicediscovery;tnb;vpc-lattice" - [security]="accessanalyzer;account-access;acm;acm-pca;auditmanager;cloudhsm;cloudhsmv2;codeguru-security;detective;directory-service-data;guardduty;iam;iam-toolbox;macie2;payment-cryptography;payment-cryptography-data;pca-connector-ad;pca-connector-scep;pcs;rolesanywhere;secretsmanager;securityagent;securityhub;securitylake;shield;signer;signer-data;signin;sso;sso-admin;supportauthz;verifiedpermissions;waf;waf-regional;wafv2" - [storage]="awstransfer;backup;backup-gateway;backupsearch;datasync;ebs;fsx;glacier;importexport;mediapackage;mediapackagev2;mediapackage-vod;mediastore;mediastore-data;rbin;s3;s3control;s3-crt;s3files;s3tables;snowball;snow-device-management;storagegateway;workdocs" - [uncategorized]="braket;connecthealth;ds;evs;freetier;managedblockchain;managedblockchain-query;nova-act" -) - -IUSE="${!AWS_GROUPS[*]}" - -DEPEND="dev-cpp/aws-crt-cpp:= - dev-libs/aws-c-auth:= - dev-libs/aws-c-common:= - dev-libs/aws-c-compression:= - dev-libs/aws-c-event-stream:= - dev-libs/aws-c-http:= - dev-libs/aws-c-io:= - dev-libs/aws-c-mqtt:= - dev-libs/aws-c-s3:= - dev-libs/aws-c-sdkutils:= - dev-libs/aws-checksums:= - net-misc/curl:= - virtual/zlib:=" -RDEPEND="${DEPEND}" -BDEPEND="dev-libs/aws-c-common" - -src_configure() { - local mybuildtargets="core;kms;identity-management;sts;cognito-identity;cognito-idp;cognito-sync;identitystore;sso-oidc;events;pricing" - - local g - for g in "${!AWS_GROUPS[@]}"; do - if use "${g}"; then - mybuildtargets+=";${AWS_GROUPS[$g]}" - fi - done - - local mycmakeargs=( - -DLEGACY_BUILD=ON - -DBUILD_DEPS=OFF # disable embedded 3rd-party repositories. - -DBUILD_ONLY="${mybuildtargets}" - ) - - cmake_src_configure -} diff --git a/dev-cpp/aws-sdk-cpp/files/mnt_check_aws_groups b/dev-cpp/aws-sdk-cpp/files/mnt_check_aws_groups deleted file mode 100755 index f55e4b02f435..000000000000 --- a/dev-cpp/aws-sdk-cpp/files/mnt_check_aws_groups +++ /dev/null @@ -1,77 +0,0 @@ -#! /bin/bash - -# Just fake it to allow sourcing the .ebuild file directly into scope. -inherit() { - : -} - -in_array() { - local needle="$1" - shift - while [[ $# -gt 0 ]]; do - [[ "$1" = "$needle" ]] && return 0 - shift - done - return 1 -} - -if [[ -r /usr/libexec/rc/sh/functions.sh ]]; then - # We have openrc so high-jack these for prettier output. - . /usr/libexec/rc/sh/functions.sh -else - ebegin() { echo "$*"; } - eend() { :; } - eerror() { echo "$*"; } -fi - -for eb in "$@"; do - unset AWS_GROUPS - if [[ "$(basename "${eb}")" != aws-sdk-cpp-*.ebuild ]] ; then - eerror "Ebuild name ${eb} looks invalid, skipping." - continue - fi - if [[ ! -r "${eb}" ]]; then - eerror "${eb} is not readable, skipping." - continue - fi - ebegin "${eb}" - r=0 - - if ! ebuild "${eb}" fetch; then - eerror "Error fetching dist files." - avail_mods=() - else - distname="$(portageq metadata / ebuild dev-cpp/aws-sdk-cpp-1.11.887 SRC_URI | sed -nre 's/.* -> aws/aws/p')" - avail_mods=($(tar tf "$(portageq envvar DISTDIR)/${distname}" --wildcards "*/generated/src/*" | sed -nre 's:.*/generated/src/aws-cpp-sdk-([^/]+)$:\1:p')) - fi - - . "${eb}" - declare -A listed_names=() - for c in "${!AWS_GROUPS[@]}"; do - IFS=';' mods=(${AWS_GROUPS[$c]}) - for m in "${mods[@]}"; do - if [[ -n "${listed_names[$m]}" ]]; then - eerror "${m} is listed twice, in first in ${listed_names[$m]} then in ${c}" - r=1 - else - listed_names[$m]="${c}" - fi - if [[ "${#avail_mods[@]}" -gt 0 ]] && ! in_array "${m}" "${avail_mods[@]}"; then - eerror "Module ${m} listed in AWS_GROUPS category ${c} is not found in sources." - r=1 - fi - done - sorted_list="$(printf "%s\n" "${mods[@]}" | sort | tr '\n' ';')" - if [[ "${sorted_list%;}" != "${AWS_GROUPS[$c]}" ]]; then - eerror "Category ${c} in AWS_GROUPS is not sorted, correctly sorted list is: ${sorted_list%;}" - r=1 - fi - done - for m in "${avail_mods[@]}"; do - if [[ -z "${listed_names[$m]}" ]]; then - eerror "Module ${m} in sources is not found in any AWS_GROUPS category." - r=1 - fi - done - eend $r -done diff --git a/dev-cpp/cairomm/Manifest b/dev-cpp/cairomm/Manifest index 92561f5e83c5..1684ed88eda5 100644 --- a/dev-cpp/cairomm/Manifest +++ b/dev-cpp/cairomm/Manifest @@ -1,3 +1,2 @@ DIST cairomm-1.14.5.tar.xz 653276 BLAKE2B ad26a3eff8adae3b7202ed6a6c8706394ea0b508eadc0a526c2b18bec912645b09f25e786ec9021fef56ba6a6b4ffa76fed24bcf7e14252044cafdc6afd49fed SHA512 19e5f84f6167c1641b27545c3af4e780b6a072513322adc6296577e2d0ebcffe933afd15c32117a203394e9f5f28734820aaf1802dfdeb35ff2a657f140570b0 DIST cairomm-1.18.0.tar.xz 632520 BLAKE2B e05135eb2e22ed6002821567dd951644febc173b04e001f3574d6dac36d0c6d012c3806e7485fa7856402945934c653c4546855a8e97b016130edac31726d827 SHA512 d358a765136e244773b4a0fdcb2d9c81dd0b76f7a27c7108f94df9765f2d790f5f50b5645c09c292efce3e012528f85114d51916450c5fe6fa87d09f5a405d4c -DIST cairomm-1.18.1.tar.xz 613728 BLAKE2B 698e408bbf727758c392393cb551defae69660d57f521e29468a9c3a94ee5e900abfa0ceb00943513aca5a5ea5b299f5c7588a6ea876ec114da301458001228e SHA512 ff23565dba657b45658613971429b5f06a60c585b467e9a302bda8ded7cf33dc3d4290b1699bd2bde907f5cbd3c8b4219d4e7f8442d65f61712767db6cb21874 diff --git a/dev-cpp/cairomm/cairomm-1.18.1.ebuild b/dev-cpp/cairomm/cairomm-1.18.1.ebuild deleted file mode 100644 index 5f3ad5e8fc55..000000000000 --- a/dev-cpp/cairomm/cairomm-1.18.1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib python-any-r1 - -DESCRIPTION="C++ bindings for the Cairo vector graphics library" -HOMEPAGE="https://cairographics.org/cairomm/ https://gitlab.freedesktop.org/cairo/cairomm" -SRC_URI="https://www.cairographics.org/releases/${P}.tar.xz" - -LICENSE="LGPL-2.1+" -SLOT="1.16" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -IUSE="gtk-doc test X" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.14.10[X=,${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND} - test? ( - dev-libs/boost[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - ) -" -BDEPEND=" - virtual/pkgconfig - gtk-doc? ( - ${PYTHON_DEPS} - >=dev-cpp/mm-common-1.0.4 - app-text/doxygen[dot] - dev-libs/libxslt - ) -" - -pkg_setup() { - use gtk-doc && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local emesonargs=( - $(meson_native_use_bool gtk-doc build-documentation) - -Dbuild-examples=false - $(meson_use test build-tests) - -Dboost-shared=true - ) - meson_src_configure -} - -multilib_src_install_all() { - if use gtk-doc; then - mkdir -p "${ED}/usr/share/gtk-doc/html/" || die - mv "${ED}/usr/share/doc/cairomm-1.16" "${ED}/usr/share/gtk-doc/html/" || die - fi -} diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index a4baa003538b..e78035ce5e3c 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -1,3 +1,4 @@ +DIST eigen-3.4.0.tar.bz2 2143091 BLAKE2B a32aac13cbab68cfaaa252d8a406e6a36ecfd1239361412b1f9baa08284a94467479c08ffae10cb847e9916472b46b1c1af4efbf81f957c8200a4379acd42c42 SHA512 cc488eb111e0e248744d2bc4475b345b5fb82361dff226a5b73a33bd0388de8c219cff8cffcf8f476b672fc0e223f339e8c6a1cfb6293840a4a6abf232438a89 DIST eigen-3.4.1.tar.bz2 2157363 BLAKE2B 382fcebd716d81019c4606974f8db22234ff34c415d465eb5cf9dbab34d4fa9bca7a3ae6ef64a7eca627cdbacb35fdac862005b0a14ec2d851831246f879f374 SHA512 806be7536f811eb77898a9431eac4fe446fbdd41c2a33ebe30e56750920c105e24bc41d8cbb4a5c01ee770ded9c58f06ff37058d17c6e2301bc9021a864bb549 DIST eigen-3.4.1_p1.patch 1007 BLAKE2B 0a2af4c2cd8fc423535e046919fe7f931e9b718df1ff799ccc451139c084a344988fc8d1277fd1970827051ce1fcae5512222310fea00a9f1a654f3b1cffbec8 SHA512 ec3f6c78c19544f9a4f2c52e069b573eb633d67998acdd7d74e9769102ec9dfdbf68fca1492002ed0ec6b3e9a25637afa9978cfb80dd3e3f9aa0e1a34ac64534 DIST eigen-3.4.1_p2.patch 1054 BLAKE2B b46683962764a9dd560932e2230177f91e56d9e4b48ce7de79cad5743b59050aafde4f2da1db961adfb5228ac17f477e598cdf23c4150fa254d2640e4fff3a6d SHA512 bdcd4599ccb88f0599aa74fd5a73135dcc5bb9ad0bc2791517473a48f938bb784e62376e829b8b5b3d6f5149bc8874bf77655c1bfe63f86afbc151c2c86d6732 diff --git a/dev-cpp/eigen/eigen-3.4.0-r3.ebuild b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild new file mode 100644 index 000000000000..21f9174b1ab0 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild @@ -0,0 +1,458 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED="test" +inherit cmake cuda fortran-2 llvm toolchain-funcs + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" + if [[ ${PV} = 3.4.9999* ]] ; then + EGIT_BRANCH="3.4" + fi +else + SRC_URI=" + https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 + test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) ) + " + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +fi + +LICENSE="MPL-2.0" +SLOT="3" + +# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications +ARM_CPU_FEATURES=( + neon:NEON +) +PPC_CPU_FEATURES=( + altivec:ALTIVEC + vsx:VSX +) +X86_CPU_FEATURES=( + avx:AVX + avx2:AVX2 + avx512f:AVX512 + avx512dq:AVX512DQ + f16c:FP16C + fma3:FMA + popcnt:POPCNT + sse:SSE + sse2:SSE2 + sse3:SSE3 + ssse3:SSSE3 + sse4_1:SSE4_1 + sse4_2:SSE4_2 +) +# MIPS_CPU_FEATURES=( +# msa:MSA +# ) +# S390_CPU_FEATURES=( +# z13:Z13 +# z14:Z14 +# ) + +CPU_FEATURES_MAP=( + "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}" + "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}" + "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" + # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}" + # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}" +) + +IUSE_TEST_BACKENDS=( + "adolc" + "boost" + "cholmod" + "fftw" + "klu" + "opengl" + "openmp" + "pastix" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE="${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector + +REQUIRED_USE=" + test? ( !lapack ) + || ( ${IUSE_TEST_BACKENDS[*]} ) +" + +# Tests failing again because of compiler issues; bugs #932646, #943401 +RESTRICT="test !test? ( test )" + +BDEPEND=" + doc? ( + app-text/doxygen[dot] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + mathjax? ( dev-libs/mathjax ) + ) + test? ( virtual/pkgconfig ) +" + +# METIS +# MPREAL +# dev-libs/mpfr:0 +# dev-libs/gmp:0 + +TEST_BACKENDS=" + boost? ( dev-libs/boost ) + adolc? ( sci-libs/adolc[sparse] ) + cholmod? ( sci-libs/cholmod:= ) + fftw? ( sci-libs/fftw ) + spqr? ( sci-libs/spqr ) + klu? ( sci-libs/klu ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( sci-libs/pastix[-mpi] ) + sparsehash? ( + amd64? ( dev-cpp/sparsehash ) + arm64? ( dev-cpp/sparsehash ) + ppc64? ( dev-cpp/sparsehash ) + x86? ( dev-cpp/sparsehash ) + ) + superlu? ( sci-libs/superlu ) + umfpack? ( sci-libs/umfpack ) +" +DEPEND=" + test? ( + cuda? ( + !clang? ( + dev-util/nvidia-cuda-toolkit + ) + clang? ( + llvm-core/clang[llvm_targets_NVPTX] + openmp? ( llvm-runtimes/openmp[llvm_targets_NVPTX,offload] ) + ) + ) + hip? ( dev-util/hip ) + lapack? ( virtual/lapacke ) + ${TEST_BACKENDS} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.3.9-max-macro.patch" + "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 + "${FILESDIR}/${PN}-3.4.0-buildstring.patch" + "${FILESDIR}/${PN}-3.4.0-noansi.patch" + "${FILESDIR}/${PN}-3.4.0-cxxstandard.patch" + "${FILESDIR}/${PN}-3.4.0-ppc-no-vsx.patch" # bug 936107 +) + +# TODO should be in cuda.eclass +cuda_set_CUDAHOSTCXX() { + local compiler + tc-is-gcc && compiler="gcc" + tc-is-clang && compiler="clang" + [[ -z "$compiler" ]] && die "no compiler specified" + + local package="sys-devel/${compiler}" + local version="${package}" + local CUDAHOSTCXX_test + while + CUDAHOSTCXX="${CUDAHOSTCXX_test}" + version=$(best_version "${version}") + if [[ -z "${version}" ]]; then + if [[ -z "${CUDAHOSTCXX}" ]]; then + die "could not find supported version of ${package}" + fi + break + fi + CUDAHOSTCXX_test="$( + dirname "$( + realpath "$( + which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")" + )" + )" + )" + version="<${version}" + do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done + + export CUDAHOSTCXX +} + +pkg_setup() { + use test && use cuda && use clang && llvm_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + + if use test && use lapack; then + cd "${S}/lapack" || die + unpack "${PN}-lapack_addons-3.4.1.tgz" + fi + fi +} + +src_prepare() { + cmake_src_prepare + + sed \ + -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \ + -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \ + -i CMakeLists.txt || die + + if ! use test; then + sed \ + -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \ + -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \ + -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \ + -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \ + -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \ + -i CMakeLists.txt || die + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS="yes" + -DBUILD_TESTING="$(usex test)" + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + if use doc || use test; then + mycmakeargs+=( + # needs Qt4 + -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests + ) + fi + + if use doc; then + mycmakeargs+=( + -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs + -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation + ) + fi + + if use test; then + mycmakeargs+=( + # the OpenGL testsuite is extremely brittle, bug #712808 + -DOpenGL_GL_PREFERENCE="GLVND" + -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests + -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples + + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON + + -DEIGEN_TEST_CXX11=yes + + # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests. + # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests. + # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests + + # -DEIGEN_BUILD_BTL=yes # Build benchmark suite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation + + # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov + # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out + # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions + # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions + # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions + # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples + # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples + + # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests + + # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order + + # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path + # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320 + # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables + ) + + use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" ) + use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" ) + use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" ) + use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" ) + use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" ) + use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" ) + use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" ) + use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" ) + use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" ) + use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" ) + use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" ) + use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" ) + + if use lapack; then + mycmakeargs+=( + -DEIGEN_ENABLE_LAPACK_TESTS=yes + -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite + -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON + ) + fi + + if use arm; then + mycmakeargs+=( + -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + fi + + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + + if use amd64 || use x86; then + mycmakeargs+=( + # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. + # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization. + -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" + -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" + -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" + -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)" + -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)" + ) + fi + + if use mips; then + mycmakeargs+=( + # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples + ) + fi + + if use s390; then + mycmakeargs+=( + # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples + # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples + ) + fi + + mycmakeargs+=( + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # Use clang instead of nvcc to compile the CUDA tests + + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. + + # -DEIGEN_TEST_SYCL=no # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default). + ) + + if use cuda; then + cuda_add_sandbox -w + if use clang; then + local llvm_prefix + llvm_prefix="$(get_llvm_prefix -b)" + export CC="${llvm_prefix}/bin/clang" + export CXX="${llvm_prefix}/bin/clang++" + export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)" + else + cuda_set_CUDAHOSTCXX + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + fi + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD=yes + ) + NVCCFLAGS+=" -v" + fi + + export CUDAFLAGS="${NVCCFLAGS}" + + [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS" + : "${CUDAARCHS:=$(__nvcc_device_query)}" + export CUDAARCHS + + mycmakeargs+=( + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + if use doc; then + targets+=( doc ) + HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + fi + if use test; then + targets+=( buildtests ) + if ! use lapack; then + targets+=( blas ) + fi + # tests generate random data, which + # obviously fails for some seeds + export EIGEN_SEED=712808 + fi + + if use doc || use test; then + cmake_src_compile "${targets[@]}" + fi +} + +src_test() { + CMAKE_SKIP_TESTS=( + product_small_32 # 143 (Subprocess aborted) + product_small_33 # 144 (Subprocess aborted) + + eigensolver_selfadjoint_13 # 452 (Subprocess aborted) + + cholmod_support_21 # 726 (Subprocess aborted) + cholmod_support_22 # 727 (Subprocess aborted) + + NonLinearOptimization # 930 (Subprocess aborted) + openglsupport # 990 (Failed) + levenberg_marquardt # 1020 (Subprocess aborted) + ) + + if use cuda ; then + cuda_add_sandbox -w + + CMAKE_SKIP_TESTS+=( + cxx11_tensor_cast_float16_gpu + cxx11_tensor_gpu_5 + ) + fi + + if use lapack ; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-.*$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + ) + + cmake_src_test +} diff --git a/dev-cpp/eigen/eigen-3.4.1-r1.ebuild b/dev-cpp/eigen/eigen-3.4.1-r1.ebuild deleted file mode 100644 index bdc98bc7841d..000000000000 --- a/dev-cpp/eigen/eigen-3.4.1-r1.ebuild +++ /dev/null @@ -1,653 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {21..23} ) -LLVM_OPTIONAL="cuda-clang" - -PYTHON_COMPAT=( python3_{13..14} ) - -FORTRAN_NEEDED="no" - -LAPACK_ADDONS_PV="3.4.1" - -inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx - -DESCRIPTION="C++ template library for linear algebra" -HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" - -if [[ ${PV} = *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" - if [[ ${PV} = *.9999* ]] ; then - EGIT_BRANCH="$(ver_cut 1-2)" - fi -else - # we backport two patches from the 3.4 branch - SRC_URI=" - https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 - https://gitlab.com/libeigen/eigen/-/commit/0295f81a835ef69e2bacd9e75ab5782eca398720.patch -> ${P}_p1.patch - https://gitlab.com/libeigen/eigen/-/commit/28ded8800c26864e537852658428ab44c8399e87.patch -> ${P}_p2.patch - " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" -fi - -SRC_URI+=" - test? ( - lapack? ( - https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz - -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz - ) - ) -" - -LICENSE="MPL-2.0" -SLOT="3/$(ver_cut 1-2)" - -# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications -ARM_CPU_FEATURES=( - neon:NEON -) -PPC_CPU_FEATURES=( - altivec:ALTIVEC - vsx:VSX -) -X86_CPU_FEATURES=( - avx:AVX - avx2:AVX2 - avx512f:AVX512 - avx512dq:AVX512DQ - f16c:FP16C - fma3:FMA - popcnt:POPCNT - sse:SSE - sse2:SSE2 - sse3:SSE3 - ssse3:SSSE3 - sse4_1:SSE4_1 - sse4_2:SSE4_2 -) -# MIPS_CPU_FEATURES=( -# msa:MSA -# ) -# S390_CPU_FEATURES=( -# z13:Z13 -# z14:Z14 -# ) - -CPU_FEATURES_MAP=( - "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}" - "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}" - "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" - # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}" - # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}" -) - -IUSE_TEST_BACKENDS=( - "adolc" - "boost" - "cholmod" - "fftw" - "klu" - "metis" - "opengl" - "pastix" - "pocketfft" - "sparsehash" - "spqr" - "superlu" - "umfpack" -) - -IUSE=" - debug - blas lapack - ${CPU_FEATURES_MAP[*]%:*} - cuda cuda-clang hip - doc mathjax - openmp - test ${IUSE_TEST_BACKENDS[*]} -" -# zvector - -REQUIRED_USE=" - lapack? ( - blas - ) - test? ( - || ( ${IUSE_TEST_BACKENDS[*]} ) - cuda-clang? ( - !openmp - ${LLVM_REQUIRED_USE} - ) - ) -" - -# Tests failing again because of compiler issues; bugs #932646, #943401 -RESTRICT="!test? ( test )" -FORTRAN_DEPEND="virtual/fortran" - -BDEPEND=" - doc? ( - app-text/doxygen[dot] - dev-texlive/texlive-bibtexextra - dev-texlive/texlive-fontsextra - dev-texlive/texlive-fontutils - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - mathjax? ( dev-libs/mathjax ) - ) - test? ( - virtual/pkgconfig - lapack? ( - ${PYTHON_DEPS} - ) - spqr? ( - cholmod? ( - blas? ( - lapack? ( - ${FORTRAN_DEPEND} - ) - ) - ) - ) - pastix? ( ${FORTRAN_DEPEND} ) - ) - blas? ( ${FORTRAN_DEPEND} ) - lapack? ( ${FORTRAN_DEPEND} ) -" - -TEST_BACKENDS=" - adolc? ( sci-libs/adolc[sparse] ) - boost? ( dev-libs/boost ) - cholmod? ( sci-libs/cholmod:=[cuda?] ) - fftw? ( sci-libs/fftw[openmp?] ) - klu? ( sci-libs/klu:= ) - metis? ( - sci-libs/metis[openmp?] - sci-libs/pastix[metis] - ) - opengl? ( - media-libs/freeglut - media-libs/glew - media-libs/libglvnd - ) - pastix? ( - sci-libs/pastix[-mpi] - || ( - sci-libs/pastix[scotch] - sci-libs/pastix[metis] - ) - ) - pocketfft? ( dev-libs/pocketfft ) - sparsehash? ( - amd64? ( dev-cpp/sparsehash ) - arm64? ( dev-cpp/sparsehash ) - ppc64? ( dev-cpp/sparsehash ) - x86? ( dev-cpp/sparsehash ) - ) - spqr? ( sci-libs/spqr:= ) - superlu? ( sci-libs/superlu:= ) - umfpack? ( sci-libs/umfpack:= ) -" - -DEPEND=" - test? ( - cuda? ( - !cuda-clang? ( - dev-util/nvidia-cuda-toolkit - ) - cuda-clang? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] - ') - ) - ) - hip? ( dev-util/hip ) - !blas? ( - virtual/blas - !lapack? ( - virtual/lapacke - ) - ) - ${TEST_BACKENDS} - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-3.3.9-max-macro.patch" - "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 - "${FILESDIR}/${PN}-3.4.0-buildstring.patch" - "${FILESDIR}/${PN}-3.4.1-cxxstandard-17.patch" - - "${FILESDIR}/${PN}-3.4.0-c++-20.patch" - - "${FILESDIR}/${PN}-3.4.1-bug1213-link-with-Eigen3-Eigen.patch" - - "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" - "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" - - "${DISTDIR}/${P}_p1.patch" - "${DISTDIR}/${P}_p2.patch" - - "${FILESDIR}/${P}-fix-Werror-undef.patch" # bug 976285 -) - -# TODO should be in cuda.eclass -cuda_get_host_compiler() { - if [[ -n "${NVCC_CCBIN}" ]]; then - echo "${NVCC_CCBIN}" - return - fi - - if [[ -n "${CUDAHOSTCXX}" ]]; then - echo "${CUDAHOSTCXX}" - return - fi - - einfo "Trying to find working CUDA host compiler" - - if ! tc-is-gcc && ! tc-is-clang; then - die "$(tc-get-compiler-type) compiler is not supported" - fi - - local compiler compiler_type compiler_version - local package package_version - local -x NVCC_CCBIN - local NVCC_CCBIN_default - - compiler_type="$(tc-get-compiler-type)" - compiler_version="$("${compiler_type}-major-version")" - - # try the default compiler first - NVCC_CCBIN="$(tc-getCXX)" - NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" - - compiler="${NVCC_CCBIN/%-${compiler_version}}" - - # store the package so we can re-use it later - package="sys-devel/${compiler_type}" - package_version="${package}" - - ebegin "testing ${NVCC_CCBIN_default} (default)" - - while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do - eend 1 - - while true; do - # prepare next version - if ! package_version="<$(best_version "${package_version}")"; then - die "could not find a supported version of ${compiler}" - fi - - NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" - - [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break - done - ebegin "testing ${NVCC_CCBIN}" - done - eend $? - - echo "${NVCC_CCBIN}" - export NVCC_CCBIN -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] && use openmp; then - tc-check-openmp - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] && use openmp; then - tc-check-openmp - fi - - if use lapack; then - python-any-r1_pkg_setup - fi - - if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ - || use blas \ - || use lapack \ - ; then - fortran-2_pkg_setup - fi - - if use test && use cuda && use cuda-clang; then - llvm-r2_pkg_setup - fi -} - -src_unpack() { - if [[ ${PV} = *9999* ]] ; then - git-r3_src_unpack - else - unpack "${P}.tar.bz2" - fi - - if use test && use lapack; then - pushd "${S}/lapack" > /dev/null || die - unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" - popd > /dev/null || die - fi -} - -src_prepare() { - # run patches here as we patch in test/ - cmake_src_prepare - - if use test && use lapack; then - pushd "${S}" > /dev/null || die - eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" - popd > /dev/null || die - fi -} - -src_configure() { - if use lapack; then - # bug 878987 - # multiple definition of `cgesdd_' - filter-lto - fi - - local mycmakeargs=( - -DCMAKE_CXX_STANDARD="20" - -DCMAKE_POSITION_INDEPENDENT_CODE="yes" - - -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. - - -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library - -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library - - -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation - -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen - ) - - append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" - - if use blas; then - mycmakeargs+=( - -DBUILD_SHARED_LIBS="yes" - -DEIGEN_BUILD_SHARED_LIBS="yes" - ) - - if use lapack; then - mycmakeargs+=( - -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp - -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" - ) - fi - fi - - if use doc || use test; then - mycmakeargs+=( - # needs Qt4 - -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests - ) - fi - - if use doc; then - mycmakeargs+=( - -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs - -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation - ) - fi - - if use test; then - mycmakeargs+=( - -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building - - # the OpenGL testsuite is extremely brittle, bug #712808 - -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests - -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples - - -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite - - -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation - - -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions - -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables - - -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests - -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests - - -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. - - # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. - # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). - - $(cmake_use_find_package adolc Adolc) - $(cmake_use_find_package boost Boost) - $(cmake_use_find_package cholmod CHOLMOD) - $(cmake_use_find_package fftw FFTW ) - $(cmake_use_find_package klu KLU) - -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes - # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL - # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP - $(cmake_use_find_package pastix PASTIX) - # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps - -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" - - -DPOCKETFFT="$(usex pocketfft)" - $(cmake_use_find_package sparsehash GoogleHash) - $(cmake_use_find_package spqr SPQR) - $(cmake_use_find_package superlu SuperLU) - $(cmake_use_find_package umfpack UMFPACK) - ) - - if use arm; then - mycmakeargs+=( - -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" - ) - fi - - if use arm64; then - mycmakeargs+=( - -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" - ) - fi - - if use amd64 || use x86; then - mycmakeargs+=( - # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. - # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization. - -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" - -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" - -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" - -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" - -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" - -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" - -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" - -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" - -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)" - -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)" - -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)" - ) - fi - - if use mips; then - mycmakeargs+=( - # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples - ) - fi - - if use ppc || use ppc64; then - mycmakeargs+=( - -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" - -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" - ) - fi - - if use s390; then - mycmakeargs+=( - # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples - # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples - ) - fi - - if use cuda; then - cuda_add_sandbox -w - - if use cuda-clang; then - local llvm_prefix - llvm_prefix="$(get_llvm_prefix -b)" - - # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with - # error: unrecognized command-line option - if ! tc-is-clang; then - export CC="${CHOST}-clang-${LLVM_SLOT}" - export CXX="${CHOST}-clang++-${LLVM_SLOT}" - fi - - NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" - - mycmakeargs+=( - -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" - ) - else - cuda_get_host_compiler - - mycmakeargs+=( - -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" - ) - if [[ -v CUDACXX ]]; then - mycmakeargs+=( - -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" - -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA - ) - fi - fi - - if [[ "${CUDA_VERBOSE}" == true ]]; then - mycmakeargs+=( - -DCUDA_VERBOSE_BUILD="yes" - ) - NVCCFLAGS+=" -v" - fi - - if [[ -v CUDAARCHS ]]; then - mycmakeargs+=( - # TODO this needs to be lowest first for eigen - -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" - ) - fi - - # CUDAFLAGS is used by cmake - # NVCCFLAGS is used by cuda.eclass - mycmakeargs+=( - -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" - - -DCUDA_USE_STATIC_CUDA_RUNTIME="no" - ) - fi - - if use opengl; then - mycmakeargs+=( - -DOpenGL_GL_PREFERENCE="GLVND" - ) - fi - - if use pocketfft; then - mycmakeargs+=( - -DEIGEN_TEST_CXX11=yes - ) - fi - fi - - cmake_src_configure -} - -src_compile() { - local targets=() - - if use blas; then - targets+=( blas ) - if use lapack; then - targets+=( lapack ) - fi - fi - - if use test; then - targets+=( buildtests ) - - if use cuda || use hip; then - targets+=( buildtests_gpu ) - fi - - # tests generate random data, which fails for some seeds - # we solve this via test reruns now - # export EIGEN_SEED=712808 - fi - - # we add doc last to capture results for buildtests - if use doc; then - targets+=( doc ) - fi - - if [[ -n "${targets[*]}" ]]; then - cmake_src_compile "${targets[@]}" - fi -} - -src_test() { - local CMAKE_SKIP_TESTS=( - "^ref_8$" - ) - - if use cholmod && use blas && use lapack; then - CMAKE_SKIP_TESTS+=( - "^cholmod_support_21$" - "^cholmod_support_22$" - ) - fi - - if use cuda; then - cuda_add_sandbox -w - fi - - if use klu && use blas; then - CMAKE_SKIP_TESTS+=( - "^klu_support_1$" - "^klu_support_2$" - ) - fi - - if use lapack; then - CMAKE_SKIP_TESTS+=( - "^LAPACK-xlintsts_stest_in$" - "^LAPACK-xeigtsts_sep_in$" - "^LAPACK-xeigtsts_svd_in$" - "^LAPACK-xlintstd_dtest_in$" - "^LAPACK-xeigtstd_sep_in$" - "^LAPACK-xeigtstd_svd_in$" - "^LAPACK-xlintstc_ctest_in$" - "^LAPACK-xeigtstc_svd_in$" - ) - fi - - local myctestargs=( - -j1 # otherwise breaks due to cmake reruns - --repeat until-pass:50 - ) - - if use opengl; then - virtx \ - cmake_src_test - else - cmake_src_test - fi -} - -src_install() { - local DOCS=() - cmake_src_install - - if use doc; then - pushd "${BUILD_DIR}/doc" > /dev/null || die - dodoc -r html - popd > /dev/null || die - fi -} diff --git a/dev-cpp/eigen/eigen-3.4.1.ebuild b/dev-cpp/eigen/eigen-3.4.1.ebuild new file mode 100644 index 000000000000..65f1b42f809f --- /dev/null +++ b/dev-cpp/eigen/eigen-3.4.1.ebuild @@ -0,0 +1,651 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {21..23} ) +LLVM_OPTIONAL="cuda-clang" + +PYTHON_COMPAT=( python3_{13..14} ) + +FORTRAN_NEEDED="no" + +LAPACK_ADDONS_PV="3.4.1" + +inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git" + if [[ ${PV} = *.9999* ]] ; then + EGIT_BRANCH="$(ver_cut 1-2)" + fi +else + # we backport two patches from the 3.4 branch + SRC_URI=" + https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2 + https://gitlab.com/libeigen/eigen/-/commit/0295f81a835ef69e2bacd9e75ab5782eca398720.patch -> ${P}_p1.patch + https://gitlab.com/libeigen/eigen/-/commit/28ded8800c26864e537852658428ab44c8399e87.patch -> ${P}_p2.patch + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +fi + +SRC_URI+=" + test? ( + lapack? ( + https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz + -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz + ) + ) +" + +LICENSE="MPL-2.0" +SLOT="3/$(ver_cut 1-2)" + +# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications +ARM_CPU_FEATURES=( + neon:NEON +) +PPC_CPU_FEATURES=( + altivec:ALTIVEC + vsx:VSX +) +X86_CPU_FEATURES=( + avx:AVX + avx2:AVX2 + avx512f:AVX512 + avx512dq:AVX512DQ + f16c:FP16C + fma3:FMA + popcnt:POPCNT + sse:SSE + sse2:SSE2 + sse3:SSE3 + ssse3:SSSE3 + sse4_1:SSE4_1 + sse4_2:SSE4_2 +) +# MIPS_CPU_FEATURES=( +# msa:MSA +# ) +# S390_CPU_FEATURES=( +# z13:Z13 +# z14:Z14 +# ) + +CPU_FEATURES_MAP=( + "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}" + "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}" + "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" + # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}" + # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}" +) + +IUSE_TEST_BACKENDS=( + "adolc" + "boost" + "cholmod" + "fftw" + "klu" + "metis" + "opengl" + "pastix" + "pocketfft" + "sparsehash" + "spqr" + "superlu" + "umfpack" +) + +IUSE=" + debug + blas lapack + ${CPU_FEATURES_MAP[*]%:*} + cuda cuda-clang hip + doc mathjax + openmp + test ${IUSE_TEST_BACKENDS[*]} +" +# zvector + +REQUIRED_USE=" + lapack? ( + blas + ) + test? ( + || ( ${IUSE_TEST_BACKENDS[*]} ) + cuda-clang? ( + !openmp + ${LLVM_REQUIRED_USE} + ) + ) +" + +# Tests failing again because of compiler issues; bugs #932646, #943401 +RESTRICT="!test? ( test )" +FORTRAN_DEPEND="virtual/fortran" + +BDEPEND=" + doc? ( + app-text/doxygen[dot] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + mathjax? ( dev-libs/mathjax ) + ) + test? ( + virtual/pkgconfig + lapack? ( + ${PYTHON_DEPS} + ) + spqr? ( + cholmod? ( + blas? ( + lapack? ( + ${FORTRAN_DEPEND} + ) + ) + ) + ) + pastix? ( ${FORTRAN_DEPEND} ) + ) + blas? ( ${FORTRAN_DEPEND} ) + lapack? ( ${FORTRAN_DEPEND} ) +" + +TEST_BACKENDS=" + adolc? ( sci-libs/adolc[sparse] ) + boost? ( dev-libs/boost ) + cholmod? ( sci-libs/cholmod:=[cuda?] ) + fftw? ( sci-libs/fftw[openmp?] ) + klu? ( sci-libs/klu:= ) + metis? ( + sci-libs/metis[openmp?] + sci-libs/pastix[metis] + ) + opengl? ( + media-libs/freeglut + media-libs/glew + media-libs/libglvnd + ) + pastix? ( + sci-libs/pastix[-mpi] + || ( + sci-libs/pastix[scotch] + sci-libs/pastix[metis] + ) + ) + pocketfft? ( dev-libs/pocketfft ) + sparsehash? ( + amd64? ( dev-cpp/sparsehash ) + arm64? ( dev-cpp/sparsehash ) + ppc64? ( dev-cpp/sparsehash ) + x86? ( dev-cpp/sparsehash ) + ) + spqr? ( sci-libs/spqr:= ) + superlu? ( sci-libs/superlu:= ) + umfpack? ( sci-libs/umfpack:= ) +" + +DEPEND=" + test? ( + cuda? ( + !cuda-clang? ( + dev-util/nvidia-cuda-toolkit + ) + cuda-clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp] + ') + ) + ) + hip? ( dev-util/hip ) + !blas? ( + virtual/blas + !lapack? ( + virtual/lapacke + ) + ) + ${TEST_BACKENDS} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.3.9-max-macro.patch" + "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064 + "${FILESDIR}/${PN}-3.4.0-buildstring.patch" + "${FILESDIR}/${PN}-3.4.1-cxxstandard-17.patch" + + "${FILESDIR}/${PN}-3.4.0-c++-20.patch" + + "${FILESDIR}/${PN}-3.4.1-bug1213-link-with-Eigen3-Eigen.patch" + + "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch" + "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch" + + "${DISTDIR}/${P}_p1.patch" + "${DISTDIR}/${P}_p2.patch" +) + +# TODO should be in cuda.eclass +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi + + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default + + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" + fi + + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi + + if use lapack; then + python-any-r1_pkg_setup + fi + + if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \ + || use blas \ + || use lapack \ + ; then + fortran-2_pkg_setup + fi + + if use test && use cuda && use cuda-clang; then + llvm-r2_pkg_setup + fi +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.bz2" + fi + + if use test && use lapack; then + pushd "${S}/lapack" > /dev/null || die + unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz" + popd > /dev/null || die + fi +} + +src_prepare() { + # run patches here as we patch in test/ + cmake_src_prepare + + if use test && use lapack; then + pushd "${S}" > /dev/null || die + eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch" + popd > /dev/null || die + fi +} + +src_configure() { + if use lapack; then + # bug 878987 + # multiple definition of `cgesdd_' + filter-lto + fi + + local mycmakeargs=( + -DCMAKE_CXX_STANDARD="20" + -DCMAKE_POSITION_INDEPENDENT_CODE="yes" + + -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests. + + -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library + -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library + + -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation + -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen + ) + + append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0" + + if use blas; then + mycmakeargs+=( + -DBUILD_SHARED_LIBS="yes" + -DEIGEN_BUILD_SHARED_LIBS="yes" + ) + + if use lapack; then + mycmakeargs+=( + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)" + ) + fi + fi + + if use doc || use test; then + mycmakeargs+=( + # needs Qt4 + -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests + ) + fi + + if use doc; then + mycmakeargs+=( + -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs + -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation + ) + fi + + if use test; then + mycmakeargs+=( + -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building + + # the OpenGL testsuite is extremely brittle, bug #712808 + -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests + -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples + + -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite + + -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation + + -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions + -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables + + -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests + -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests + + -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support. + + # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support. + # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default). + + $(cmake_use_find_package adolc Adolc) + $(cmake_use_find_package boost Boost) + $(cmake_use_find_package cholmod CHOLMOD) + $(cmake_use_find_package fftw FFTW ) + $(cmake_use_find_package klu KLU) + -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes + # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL + # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP + $(cmake_use_find_package pastix PASTIX) + # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps + -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND" + + -DPOCKETFFT="$(usex pocketfft)" + $(cmake_use_find_package sparsehash GoogleHash) + $(cmake_use_find_package spqr SPQR) + $(cmake_use_find_package superlu SuperLU) + $(cmake_use_find_package umfpack UMFPACK) + ) + + if use arm; then + mycmakeargs+=( + -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)" + ) + fi + + if use arm64; then + mycmakeargs+=( + -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)" + ) + fi + + if use amd64 || use x86; then + mycmakeargs+=( + # -DEIGEN_TEST_32BIT=no # Force generating 32bit code. + # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization. + -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" + -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" + -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" + -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)" + -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)" + ) + fi + + if use mips; then + mycmakeargs+=( + # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples + ) + fi + + if use ppc || use ppc64; then + mycmakeargs+=( + -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)" + -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)" + ) + fi + + if use s390; then + mycmakeargs+=( + # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples + # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples + ) + fi + + if use cuda; then + cuda_add_sandbox -w + + if use cuda-clang; then + local llvm_prefix + llvm_prefix="$(get_llvm_prefix -b)" + + # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with + # error: unrecognized command-line option + if ! tc-is-clang; then + export CC="${CHOST}-clang-${LLVM_SLOT}" + export CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc" + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}" + ) + else + cuda_get_host_compiler + + mycmakeargs+=( + -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}" + ) + if [[ -v CUDACXX ]]; then + mycmakeargs+=( + -DCUDA_NVCC_EXECUTABLE="${CUDACXX}" + -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA + ) + fi + fi + + if [[ "${CUDA_VERBOSE}" == true ]]; then + mycmakeargs+=( + -DCUDA_VERBOSE_BUILD="yes" + ) + NVCCFLAGS+=" -v" + fi + + if [[ -v CUDAARCHS ]]; then + mycmakeargs+=( + # TODO this needs to be lowest first for eigen + -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}" + ) + fi + + # CUDAFLAGS is used by cmake + # NVCCFLAGS is used by cuda.eclass + mycmakeargs+=( + -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}" + + -DCUDA_USE_STATIC_CUDA_RUNTIME="no" + ) + fi + + if use opengl; then + mycmakeargs+=( + -DOpenGL_GL_PREFERENCE="GLVND" + ) + fi + + if use pocketfft; then + mycmakeargs+=( + -DEIGEN_TEST_CXX11=yes + ) + fi + fi + + cmake_src_configure +} + +src_compile() { + local targets=() + + if use blas; then + targets+=( blas ) + if use lapack; then + targets+=( lapack ) + fi + fi + + if use test; then + targets+=( buildtests ) + + if use cuda || use hip; then + targets+=( buildtests_gpu ) + fi + + # tests generate random data, which fails for some seeds + # we solve this via test reruns now + # export EIGEN_SEED=712808 + fi + + # we add doc last to capture results for buildtests + if use doc; then + targets+=( doc ) + fi + + if [[ -n "${targets[*]}" ]]; then + cmake_src_compile "${targets[@]}" + fi +} + +src_test() { + local CMAKE_SKIP_TESTS=( + "^ref_8$" + ) + + if use cholmod && use blas && use lapack; then + CMAKE_SKIP_TESTS+=( + "^cholmod_support_21$" + "^cholmod_support_22$" + ) + fi + + if use cuda; then + cuda_add_sandbox -w + fi + + if use klu && use blas; then + CMAKE_SKIP_TESTS+=( + "^klu_support_1$" + "^klu_support_2$" + ) + fi + + if use lapack; then + CMAKE_SKIP_TESTS+=( + "^LAPACK-xlintsts_stest_in$" + "^LAPACK-xeigtsts_sep_in$" + "^LAPACK-xeigtsts_svd_in$" + "^LAPACK-xlintstd_dtest_in$" + "^LAPACK-xeigtstd_sep_in$" + "^LAPACK-xeigtstd_svd_in$" + "^LAPACK-xlintstc_ctest_in$" + "^LAPACK-xeigtstc_svd_in$" + ) + fi + + local myctestargs=( + -j1 # otherwise breaks due to cmake reruns + --repeat until-pass:50 + ) + + if use opengl; then + virtx \ + cmake_src_test + else + cmake_src_test + fi +} + +src_install() { + local DOCS=() + cmake_src_install + + if use doc; then + pushd "${BUILD_DIR}/doc" > /dev/null || die + dodoc -r html + popd > /dev/null || die + fi +} diff --git a/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch new file mode 100644 index 000000000000..826aa78d05aa --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch @@ -0,0 +1,108 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -74,19 +74,9 @@ macro(ei_add_cxx_compiler_flag FLAG) + endif() + endmacro() + +-check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) +- +-if(EIGEN_TEST_CXX11) +- set(CMAKE_CXX_STANDARD 11) +- set(CMAKE_CXX_EXTENSIONS OFF) +- if(EIGEN_COMPILER_SUPPORT_CPP11) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +- endif() +-else() +- #set(CMAKE_CXX_STANDARD 03) +- #set(CMAKE_CXX_EXTENSIONS OFF) +- ei_add_cxx_compiler_flag("-std=c++03") +-endif() ++set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD_REQUIRED TRUE) ++set(CMAKE_CXX_EXTENSIONS OFF) + + # Determine if we should build shared libraries on this platform. + get_cmake_property(EIGEN_BUILD_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS) +@@ -157,7 +157,6 @@ if(NOT MSVC) + ei_add_cxx_compiler_flag("-Wshorten-64-to-32") + ei_add_cxx_compiler_flag("-Wlogical-op") + ei_add_cxx_compiler_flag("-Wenum-conversion") +- ei_add_cxx_compiler_flag("-Wc++11-extensions") + ei_add_cxx_compiler_flag("-Wdouble-promotion") + # ei_add_cxx_compiler_flag("-Wconversion") + +--- a/Eigen/src/Core/util/Macros.h ++++ b/Eigen/src/Core/util/Macros.h +@@ -37,7 +37,7 @@ + // Expected values are 03, 11, 14, 17, etc. + // By default, let's use an arbitrarily large C++ version. + #ifndef EIGEN_MAX_CPP_VER +-#define EIGEN_MAX_CPP_VER 99 ++#define EIGEN_MAX_CPP_VER 14 + #endif + + /** Allows to disable some optimizations which might affect the accuracy of the result. +--- a/doc/examples/CMakeLists.txt ++++ b/doc/examples/CMakeLists.txt +@@ -14,7 +14,3 @@ foreach(example_src ${examples_SRCS}) + ) + add_dependencies(all_examples ${example}) + endforeach() +- +-if(EIGEN_COMPILER_SUPPORT_CPP11) +-ei_add_target_property(nullary_indexing COMPILE_FLAGS "-std=c++11") +-endif() +\ No newline at end of file +diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt +index 65f195a..4cb18c8 100644 +--- a/doc/snippets/CMakeLists.txt ++++ b/doc/snippets/CMakeLists.txt +@@ -15,9 +15,6 @@ foreach(snippet_src ${snippets_SRCS}) + if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO) + target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) + endif() +- if(${snippet_src} MATCHES "cxx11") +- set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11") +- endif() + if(${snippet_src} MATCHES "deprecated") + set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING") + endif() +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -399,7 +399,6 @@ if(CUDA_FOUND) + set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE) + endif() + if(EIGEN_TEST_CUDA_CLANG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}") + foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH) + string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}") +--- a/unsupported/test/CMakeLists.txt ++++ b/unsupported/test/CMakeLists.txt +@@ -59,7 +59,7 @@ find_package(MPREAL) + if(MPREAL_FOUND AND EIGEN_COMPILER_SUPPORT_CPP11) + ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ") + include_directories(${MPREAL_INCLUDES}) +- ei_add_test(mpreal_support "-std=c++11" "${MPREAL_LIBRARIES}" ) ++ ei_add_test(mpreal_support "-std=c++14" "${MPREAL_LIBRARIES}" ) + else() + ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ") + endif() +@@ -308,7 +308,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA) + set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE) + endif() + if(EIGEN_TEST_CUDA_CLANG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}") + foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH) + string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}") +--- a/doc/special_examples/CMakeLists.txt ++++ b/doc/special_examples/CMakeLists.txt +@@ -23,7 +23,6 @@ if(EIGEN_COMPILER_SUPPORT_CPP11) + add_executable(random_cpp11 random_cpp11.cpp) + target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) + add_dependencies(all_examples random_cpp11) +- ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11") + + add_custom_command( + TARGET random_cpp11 diff --git a/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch new file mode 100644 index 000000000000..c0ce44445c1d --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -184,6 +184,7 @@ if(NOT MSVC) + ei_add_cxx_compiler_flag("-wd2304") # disable ICC's "warning #2304: non-explicit constructor with single argument may cause implicit type conversion" produced by -Wnon-virtual-dtor + + ++ if(NOT EIGEN_TEST_CXX11) + # The -ansi flag must be added last, otherwise it is also used as a linker flag by check_cxx_compiler_flag making it fails + # Moreover we should not set both -strict-ansi and -ansi + check_cxx_compiler_flag("-strict-ansi" COMPILER_SUPPORT_STRICTANSI) +@@ -194,6 +195,7 @@ if(NOT MSVC) + else() + ei_add_cxx_compiler_flag("-ansi") + endif() ++ endif() + + if(ANDROID_NDK) + ei_add_cxx_compiler_flag("-pie") diff --git a/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch b/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch new file mode 100644 index 000000000000..7cfeaaf129ff --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch @@ -0,0 +1,195 @@ +https://gitlab.com/libeigen/eigen/-/merge_requests/1028 +https://bugs.gentoo.org/936107 +--- a/Eigen/Core ++++ b/Eigen/Core +@@ -346,7 +346,7 @@ + #include "src/Core/CoreIterators.h" + #include "src/Core/ConditionEstimator.h" + +-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX) ++#if defined(EIGEN_VECTORIZE_VSX) + #include "src/Core/arch/AltiVec/MatrixProduct.h" + #elif defined EIGEN_VECTORIZE_NEON + #include "src/Core/arch/NEON/GeneralBlockPanelKernel.h" +--- a/Eigen/src/Core/arch/AltiVec/Complex.h ++++ b/Eigen/src/Core/arch/AltiVec/Complex.h +@@ -100,6 +100,7 @@ + HasAbs2 = 0, + HasMin = 0, + HasMax = 0, ++ HasSqrt = 1, + #ifdef __VSX__ + HasBlend = 1, + #endif +@@ -320,6 +321,7 @@ + HasAbs2 = 0, + HasMin = 0, + HasMax = 0, ++ HasSqrt = 1, + HasSetLinear = 0 + }; + }; +--- a/Eigen/src/Core/arch/AltiVec/MathFunctions.h ++++ b/Eigen/src/Core/arch/AltiVec/MathFunctions.h +@@ -40,16 +40,14 @@ + return pcos_float(_x); + } + ++#ifdef __VSX__ + #ifndef EIGEN_COMP_CLANG + template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED + Packet4f prsqrt(const Packet4f& x) + { + return vec_rsqrt(x); + } +-#endif + +-#ifdef __VSX__ +-#ifndef EIGEN_COMP_CLANG + template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED + Packet2d prsqrt(const Packet2d& x) + { +@@ -74,6 +72,26 @@ + { + return pexp_double(_x); + } ++ ++template<> EIGEN_STRONG_INLINE Packet8bf psqrt (const Packet8bf& a){ ++ BF16_TO_F32_UNARY_OP_WRAPPER(psqrt, a); ++} ++ ++#ifndef EIGEN_COMP_CLANG ++template<> EIGEN_STRONG_INLINE Packet8bf prsqrt (const Packet8bf& a){ ++ BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt, a); ++} ++#endif ++#else ++template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS ++Packet4f psqrt(const Packet4f& x) ++{ ++ Packet4f a; ++ for (Index i = 0; i < packet_traits::size; i++) { ++ a[i] = numext::sqrt(x[i]); ++ } ++ return a; ++} + #endif + + // Hyperbolic Tangent function. +--- a/Eigen/src/Core/arch/AltiVec/PacketMath.h ++++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h +@@ -175,16 +175,19 @@ + #else + HasRsqrt = 0, + #endif ++ HasTanh = EIGEN_FAST_MATH, ++ HasErf = EIGEN_FAST_MATH, ++ HasRint = 1, + #else + HasSqrt = 0, + HasRsqrt = 0, +- HasTanh = EIGEN_FAST_MATH, +- HasErf = EIGEN_FAST_MATH, ++ HasTanh = 0, ++ HasErf = 0, ++ HasRint = 0, + #endif + HasRound = 1, + HasFloor = 1, + HasCeil = 1, +- HasRint = 1, + HasNegate = 1, + HasBlend = 1 + }; +@@ -217,16 +220,17 @@ + #else + HasRsqrt = 0, + #endif ++ HasRint = 1, + #else + HasSqrt = 0, + HasRsqrt = 0, +- HasTanh = EIGEN_FAST_MATH, +- HasErf = EIGEN_FAST_MATH, ++ HasRint = 0, + #endif ++ HasTanh = 0, ++ HasErf = 0, + HasRound = 1, + HasFloor = 1, + HasCeil = 1, +- HasRint = 1, + HasNegate = 1, + HasBlend = 1 + }; +@@ -872,19 +876,29 @@ + return vec_nor(c,c); + } + ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet4i pcmp_le(const Packet4i& a, const Packet4i& b) { return reinterpret_cast(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet4i pcmp_lt(const Packet4i& a, const Packet4i& b) { return reinterpret_cast(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet4i pcmp_eq(const Packet4i& a, const Packet4i& b) { return reinterpret_cast(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet8s pcmp_le(const Packet8s& a, const Packet8s& b) { return reinterpret_cast(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet8s pcmp_lt(const Packet8s& a, const Packet8s& b) { return reinterpret_cast(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet8s pcmp_eq(const Packet8s& a, const Packet8s& b) { return reinterpret_cast(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet8us pcmp_le(const Packet8us& a, const Packet8us& b) { return reinterpret_cast(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet8us pcmp_lt(const Packet8us& a, const Packet8us& b) { return reinterpret_cast(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet8us pcmp_eq(const Packet8us& a, const Packet8us& b) { return reinterpret_cast(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet16c pcmp_le(const Packet16c& a, const Packet16c& b) { return reinterpret_cast(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet16c pcmp_lt(const Packet16c& a, const Packet16c& b) { return reinterpret_cast(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet16c pcmp_eq(const Packet16c& a, const Packet16c& b) { return reinterpret_cast(vec_cmpeq(a,b)); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet16uc pcmp_le(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast(vec_cmple(a,b)); } ++#endif + template<> EIGEN_STRONG_INLINE Packet16uc pcmp_lt(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast(vec_cmplt(a,b)); } + template<> EIGEN_STRONG_INLINE Packet16uc pcmp_eq(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast(vec_cmpeq(a,b)); } + +@@ -937,6 +951,7 @@ + } + template<> EIGEN_STRONG_INLINE Packet4f pceil(const Packet4f& a) { return vec_ceil(a); } + template<> EIGEN_STRONG_INLINE Packet4f pfloor(const Packet4f& a) { return vec_floor(a); } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet4f print(const Packet4f& a) + { + Packet4f res; +@@ -947,6 +962,7 @@ + + return res; + } ++#endif + + template EIGEN_STRONG_INLINE Packet ploadu_common(const __UNPACK_TYPE__(Packet)* from) + { +@@ -1341,12 +1357,6 @@ + BF16_TO_F32_BINARY_OP_WRAPPER(psub, a, b); + } + +-template<> EIGEN_STRONG_INLINE Packet8bf psqrt (const Packet8bf& a){ +- BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a); +-} +-template<> EIGEN_STRONG_INLINE Packet8bf prsqrt (const Packet8bf& a){ +- BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt, a); +-} + template<> EIGEN_STRONG_INLINE Packet8bf pexp (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(pexp_float, a); + } +@@ -1390,9 +1400,11 @@ + template<> EIGEN_STRONG_INLINE Packet8bf pround (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(pround, a); + } ++#ifdef __VSX__ + template<> EIGEN_STRONG_INLINE Packet8bf print (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(print, a); + } ++#endif + template<> EIGEN_STRONG_INLINE Packet8bf pmadd(const Packet8bf& a, const Packet8bf& b, const Packet8bf& c) { + Packet4f a_even = Bf16ToF32Even(a); + Packet4f a_odd = Bf16ToF32Odd(a); diff --git a/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch b/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch deleted file mode 100644 index 9772616e9c16..000000000000 --- a/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fixes likely mistake in conflict resolution of upstream backport -of a73970a8640330c4908d68ef9257fd31a4fdae9. - -EIGEN_COMP_CLANG_STRICT does not exist in 3.4 branch and was not -touched in the original commit. - -Gentoo-bug: https://bugs.gentoo.org/976285 - ---- a/Eigen/src/Core/util/ConfigureVectorization.h -+++ b/Eigen/src/Core/util/ConfigureVectorization.h -@@ -445,7 +445,7 @@ - #define EIGEN_VECTORIZE_FMA - #endif - --#if defined(__F16C__) && !defined(EIGEN_GPUCC) && (!EIGEN_COMP_CLANG_STRICT || EIGEN_COMP_CLANG>=380) -+#if defined(__F16C__) && (!defined(EIGEN_GPUCC) && (!defined(EIGEN_COMP_CLANG) || EIGEN_COMP_CLANG>=380)) - // We can use the optimized fp16 to float and float to fp16 conversion routines - #define EIGEN_HAS_FP16_C - diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest index cc7e573286b0..61683b28171e 100644 --- a/dev-cpp/gtkmm/Manifest +++ b/dev-cpp/gtkmm/Manifest @@ -1,4 +1,4 @@ DIST gtkmm-2.24.5.tar.xz 12022024 BLAKE2B 6b2bca9fe6ad81cd956e1f3cc3140bc503b78386cf3931c8eeac08c8b2a08c73450bdbb703d1febaee67cdf834093ff5e89790f866357190822613a68a596ad3 SHA512 c50e52830977c37181439f4b82a30ac8bead0cf9022d2bec8225f8dc33e08414f863bf67056e1938fae8f888c09a5a6d757acc011fa9331a78caa6bb626dd51e DIST gtkmm-3.24.11.tar.xz 13455720 BLAKE2B 17cc7a77f2a7799fe67e1d439ee60d053e985566d3b0f630231c2d7a8883fabbb54254970d1cd29b0ddaad66355e5336df6f769724df7b87814d2e9641f782e9 SHA512 018d4c9b598956c71da030a00ba8097fe0215667ddcad6f76b7f0049ef0f7dd6239bb863058f2b138de79a3e7bc6e700f5c34cc9dea230af3e60148614928abc +DIST gtkmm-4.18.0.tar.xz 17063416 BLAKE2B bb2a369a80f5e817481e8e3563f97001aa98ec0170b5cfb82ec66d47574c8475be7da14079bf8c75818a2557eece1ada73e050f2300fd990c7d11186379b9514 SHA512 a5469ae03eda2fab466c3a1ac9790debec0715beab8bdfd02283ebea83c7c742ea04fc3bf800f18f171250b7b2441b0d8c4681f350284de9a791760ed6cd5d4c DIST gtkmm-4.20.0.tar.xz 17463040 BLAKE2B bda16860ead2073b07d4badc21b5dbb377fde84fe2da10557975b816176571017331ee195a3e9679b83ac90b09c6b22460b88a51ce0b1620048b3d6c13db9f83 SHA512 c65bfa6dc0788cdd698c25e3b29861cb47aa0cd9c8bd3632005958ecd5a8d92802fc8ecaf498bcfc281a9b4035e751eeb6c05fa351f4b14c063870218127dabd -DIST gtkmm-4.22.0.tar.xz 17841520 BLAKE2B e62d9f42db283601a5f01d7fc9e0844a650c882c0b95a98c0757e3e6088606d015bd1aba73abd36d38d19d2fdb368e7ec0ee8a9562fc3e6e4747f714c119c610 SHA512 b0c4b77249dcf2d917919d43b04e41b819507ab34366aa4bbffd53bbe5edbb195081d69ae4996a116573a5d4e6d2affbbbc62d4ff986dcbf95045c5d64284d7f diff --git a/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild b/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild new file mode 100644 index 000000000000..68ae57c68576 --- /dev/null +++ b/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit gnome.org meson python-any-r1 virtualx + +DESCRIPTION="C++ interface for GTK+" +HOMEPAGE="https://gtkmm.gnome.org/en/index.html" + +LICENSE="LGPL-2.1+" +SLOT="4.0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" +IUSE="gtk-doc test" + +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-cpp/glibmm-2.75.0:2.68[gtk-doc?] + >=gui-libs/gtk-4.17.5:4 + =dev-cpp/cairomm-1.15.4:1.16[gtk-doc?] + >=dev-cpp/pangomm-2.50.0:2.48[gtk-doc?] + >=x11-libs/gdk-pixbuf-2.35.5:2 + >=media-libs/libepoxy-1.2 +" +DEPEND=" + ${RDEPEND} + gtk-doc? ( dev-libs/libsigc++:3 ) +" +BDEPEND=" + virtual/pkgconfig + gtk-doc? ( + app-text/doxygen[dot] + dev-lang/perl + dev-libs/libxslt + ) + ${PYTHON_DEPS} +" + +src_configure() { + local emesonargs=( + -Dbuild-demos=false + $(meson_use gtk-doc build-documentation) + $(meson_use test build-tests) + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} diff --git a/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild new file mode 100644 index 000000000000..5e1456a151d0 --- /dev/null +++ b/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit gnome.org meson python-any-r1 virtualx + +DESCRIPTION="C++ interface for GTK+" +HOMEPAGE="https://gtkmm.gnome.org/en/index.html" + +LICENSE="LGPL-2.1+" +SLOT="4.0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" +IUSE="gtk-doc test" + +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-cpp/glibmm-2.75.0:2.68[gtk-doc?] + >=gui-libs/gtk-4.19.4:4 + >=dev-cpp/cairomm-1.15.4:1.16[gtk-doc?] + >=dev-cpp/pangomm-2.50.0:2.48[gtk-doc?] + >=x11-libs/gdk-pixbuf-2.35.5:2 + >=media-libs/libepoxy-1.2 +" +DEPEND=" + ${RDEPEND} + gtk-doc? ( dev-libs/libsigc++:3 ) +" +BDEPEND=" + virtual/pkgconfig + gtk-doc? ( + app-text/doxygen[dot] + dev-lang/perl + dev-libs/libxslt + ) + ${PYTHON_DEPS} +" + +src_configure() { + local emesonargs=( + -Dbuild-demos=false + $(meson_use gtk-doc build-documentation) + $(meson_use test build-tests) + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} diff --git a/dev-cpp/gtkmm/gtkmm-4.22.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.22.0.ebuild deleted file mode 100644 index 9a1fa044e2de..000000000000 --- a/dev-cpp/gtkmm/gtkmm-4.22.0.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -inherit gnome.org meson python-any-r1 virtualx - -DESCRIPTION="C++ interface for GTK+" -HOMEPAGE="https://gtkmm.gnome.org/en/index.html" - -LICENSE="LGPL-2.1+" -SLOT="4.0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -IUSE="gtk-doc test vulkan" - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}"/MR-101.patch -) - -RDEPEND=" - >=dev-cpp/glibmm-2.75.0:2.68[gtk-doc?] - >=gui-libs/gtk-4.22.0:4[vulkan?] - >=dev-cpp/cairomm-1.15.4:1.16[gtk-doc?] - >=dev-cpp/pangomm-2.50.0:2.48[gtk-doc?] - >=x11-libs/gdk-pixbuf-2.35.5:2 - >=media-libs/libepoxy-1.2 - vulkan? ( media-libs/vulkan-loader ) -" -DEPEND=" - ${RDEPEND} - gtk-doc? ( dev-libs/libsigc++:3 ) -" -BDEPEND=" - virtual/pkgconfig - gtk-doc? ( - app-text/doxygen[dot] - dev-lang/perl - dev-libs/libxslt - ) - ${PYTHON_DEPS} -" - -src_configure() { - local emesonargs=( - -Dbuild-demos=false - $(meson_use gtk-doc build-documentation) - $(meson_use test build-tests) - ) - meson_src_configure -} - -src_test() { - virtx meson_src_test -} - -src_install() { - meson_src_install - if use gtk-doc; then - mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die - mv "${ED}"/usr/share/doc/gtkmm-4.0 "${ED}"/usr/share/gtk-doc/html/ || die - fi -} diff --git a/dev-cpp/libcmis/Manifest b/dev-cpp/libcmis/Manifest index bd4d8d991931..5782264ca687 100644 --- a/dev-cpp/libcmis/Manifest +++ b/dev-cpp/libcmis/Manifest @@ -1 +1,2 @@ +DIST libcmis-0.6.2.tar.gz 296218 BLAKE2B faad99e09b2721cd56b0d47d2a9589e06222ee7881006e936d0943d5e8afc588fcda721ef282ad7d55c785407a9885c90cbce1d172ca012c4a13cc51da0c15b6 SHA512 a75a69623f34149c39c382c357396b8dd719d589a78424fc3b5d9de84ffbf3f889bcaaed9a01f91b491a507c189347d3d9252db238fddbb522ff8ba9ce7b5ade DIST libcmis-0.6.3.tar.gz 302198 BLAKE2B f5772991c06ce728c728b6e7d670eaf36ee5fb42e6e655cd1b40a6385d4896076346f499b4e6a8278a0b6f4d065da6ef48a6e720b7a4f5ebbb7d9782952acfba SHA512 28f9fdc51ff87496ad827289ab86f124d79d832176e63e2e92eb21e55294720e6a3a2ba847ebf9a81c7db4ef19e0defe03edf5d181e2386920f8d7451287f9e1 diff --git a/dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch new file mode 100644 index 000000000000..5d2a9ba404e3 --- /dev/null +++ b/dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch @@ -0,0 +1,47 @@ +https://github.com/tdf/libcmis/issues/67 +https://github.com/tdf/libcmis/pull/68 + +From dfcb642a491f7ec2ae52e3e83d31bb6cdf3670c2 Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Sat, 31 Aug 2024 12:39:39 +0200 +Subject: [PATCH] Fix boost 1.86 breakage + +The fix does not break building against <1.86 since we're now accessing the +object representation of the return value. + +Fixes #67 +--- + src/libcmis/xml-utils.cxx | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx +index e487d17..cdf088f 100644 +--- a/src/libcmis/xml-utils.cxx ++++ b/src/libcmis/xml-utils.cxx +@@ -531,16 +531,22 @@ namespace libcmis + boost::uuids::detail::sha1 sha1; + sha1.process_bytes( str.c_str(), str.size() ); + +- unsigned int digest[5]; ++ // on boost < 1.86.0, digest_type is typedef'd as unsigned int[5] ++ // on boost >= 1.86.0, digest_type is typedef'd as unsigned char[20] ++ boost::uuids::detail::sha1::digest_type digest; + sha1.get_digest( digest ); + ++ // by using a pointer to unsigned char, we can read the ++ // object representation of either typedef. ++ const unsigned char* ptr = reinterpret_cast( digest ); ++ + stringstream out; +- // Setup writing mode. Every number must produce eight ++ // Setup writing mode. Every number must produce two + // hexadecimal digits, including possible leading 0s, or we get + // less than 40 digits as result. + out << hex << setfill('0') << right; +- for ( int i = 0; i < 5; ++i ) +- out << setw(8) << digest[i]; ++ for ( int i = 0; i < sizeof( digest ); ++ptr, ++i ) ++ out << setw(2) << static_cast( *ptr ); + return out.str(); + } + diff --git a/dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch new file mode 100644 index 000000000000..d098f80212c3 --- /dev/null +++ b/dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch @@ -0,0 +1,45 @@ +https://github.com/tdf/libcmis/pull/69 +https://github.com/tdf/libcmis/commit/0753091be57edae28655e43a9bae9e4c4e414117 + +From 0753091be57edae28655e43a9bae9e4c4e414117 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 13 Sep 2024 16:02:13 +0100 +Subject: [PATCH] sha1 test fails with older boost + + 1) test: XmlTest::sha1Test (F) line: 588 test-xmlutils.cxx + equality assertion failed + - Expected: f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 + - Actual : 8b9efff79be0b27b5d5a9370c50c5e78f0abd0d9 +--- + src/libcmis/xml-utils.cxx | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx +index cdf088f..3568ec6 100644 +--- a/src/libcmis/xml-utils.cxx ++++ b/src/libcmis/xml-utils.cxx +@@ -536,17 +536,19 @@ namespace libcmis + boost::uuids::detail::sha1::digest_type digest; + sha1.get_digest( digest ); + +- // by using a pointer to unsigned char, we can read the +- // object representation of either typedef. +- const unsigned char* ptr = reinterpret_cast( digest ); +- + stringstream out; + // Setup writing mode. Every number must produce two + // hexadecimal digits, including possible leading 0s, or we get + // less than 40 digits as result. + out << hex << setfill('0') << right; +- for ( int i = 0; i < sizeof( digest ); ++ptr, ++i ) ++#if BOOST_VERSION < 108600 ++ for ( int i = 0; i < 5; ++i ) ++ out << setw(8) << digest[i]; ++#else ++ const unsigned char* ptr = reinterpret_cast( digest ); ++ for ( size_t i = 0; i < sizeof( digest ); ++ptr, ++i ) + out << setw(2) << static_cast( *ptr ); ++#endif + return out.str(); + } + diff --git a/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch new file mode 100644 index 000000000000..a00fb863dcb5 --- /dev/null +++ b/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch @@ -0,0 +1,26 @@ +From 72618e63433c7243e4d9e79a638f19a09402eecc Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Tue, 21 Nov 2023 23:10:07 +0100 +Subject: [PATCH] Fix build with libxml2-2.12 (missing include) + +See also: https://github.com/tdf/libcmis/issues/51 +Signed-off-by: Andreas Sturmlechner +--- + inc/libcmis/xml-utils.hxx | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/inc/libcmis/xml-utils.hxx b/inc/libcmis/xml-utils.hxx +index 929385e..9bd99ae 100644 +--- a/inc/libcmis/xml-utils.hxx ++++ b/inc/libcmis/xml-utils.hxx +@@ -34,6 +34,7 @@ + #include + + #include ++#include + #include + #include + #include +-- +2.43.0 + diff --git a/dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild b/dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild new file mode 100644 index 000000000000..7b096ee60f1b --- /dev/null +++ b/dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/tdf/libcmis.git" + inherit git-r3 +else + SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86" +fi +inherit autotools flag-o-matic + +DESCRIPTION="C++ client library for the CMIS interface" +HOMEPAGE="https://github.com/tdf/libcmis" + +LICENSE="|| ( GPL-2 LGPL-2 MPL-1.1 )" +SLOT="0/0.6" +IUSE="man test tools" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/boost:= + dev-libs/libxml2:= + net-misc/curl +" +RDEPEND=" + ${DEPEND} + !dev-cpp/libcmis:0.5 +" +BDEPEND=" + virtual/pkgconfig + man? ( + app-text/docbook2X + dev-libs/libxslt + ) + test? ( + dev-util/cppunit + ) +" + +PATCHES=( + # https://github.com/tdf/libcmis/pull/52 + "${FILESDIR}"/${P}-libxml2-2.12.patch # bug 917523 + # https://github.com/tdf/libcmis/pull/68 + "${FILESDIR}"/${P}-boost-1.86.patch + # https://github.com/tdf/libcmis/pull/69 + "${FILESDIR}"/${P}-fix-sha1-test.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # ODR issues in tests w/ curl + filter-lto + + local myeconfargs=( + --disable-werror + $(use_with man) + $(use_enable test tests) + $(use_enable tools client) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${D}" -name '*.la' -delete || die +} diff --git a/dev-cpp/libcmis/libcmis-0.6.3.ebuild b/dev-cpp/libcmis/libcmis-0.6.3.ebuild index 960196b4cef2..72873b0204b5 100644 --- a/dev-cpp/libcmis/libcmis-0.6.3.ebuild +++ b/dev-cpp/libcmis/libcmis-0.6.3.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} == *9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" fi inherit autotools flag-o-matic diff --git a/dev-cpp/msgpack-cxx/Manifest b/dev-cpp/msgpack-cxx/Manifest index 838bc847b26b..4228a9f0c6a0 100644 --- a/dev-cpp/msgpack-cxx/Manifest +++ b/dev-cpp/msgpack-cxx/Manifest @@ -1,3 +1,2 @@ DIST msgpack-cxx-6.1.1.tar.gz 476459 BLAKE2B 6ec940af9b9e02d892c5f118791015baa6b12baa60c77aaf2ff867e8836f21b4f16c436ce448cdfeb7dc8f8a9356a75f3ac829eba9059ca5d78f42a4393700ff SHA512 6a3df977e7a9c8b50feb7c88cff7a78814d1d41d2f7a657dd37d6cfcfe24f44746f40a6dd46bd5dba7ea59d94b9e40c2baa62c08d9b02168ac93c58cbff3becc DIST msgpack-cxx-8.0.0.tar.gz 480783 BLAKE2B c01a39012dd137e6bd767a350f21e8ddd37d982f01cc95f2b6bf7582823ea79603de332241a77871ba6d7387243cdfe7a514378d591011120dac2b01cc7c9b04 SHA512 8d3a20b04a201a7095556ab901f55ca0ca664940c4b7bebcdddd405fbb3f052fb38720e49aec5259a5513f2c272b9584d8b108139fb7de7d63438ee4258cdfd9 -DIST msgpack-cxx-9.0.0.tar.gz 483566 BLAKE2B 3798e5b323159a35e2b85b12466e27482435282f8f172d6f4d41194a215b47a35daf0c4b0156f5b391ac1802595e274fc0a284e7d9ed7d484db1205e2c7f8927 SHA512 5e230b60d0d62486b51dedb9d6ff81a2f2fcea6345fc803cb19540df665c6889776b1059945a391395e2a7068b25104a7af472347bd5acfbf48b93c7393c2cd0 diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild deleted file mode 100644 index 6b11b844aa48..000000000000 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="MessagePack for C++" -HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" -SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz" - -LICENSE="Boost-1.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" -IUSE="+boost doc examples test" -REQUIRED_USE="test? ( boost )" -RESTRICT="!test? ( test )" - -RDEPEND=" - boost? ( dev-libs/boost[context] ) - !