New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sci-electronics/systemc: Bump version to 2.3.2 #6211
Conversation
Note: I'm not exactly sure if this is the correct way to solve this problem. Currently, when trying to link programs against the systemc library, they must be compiled with the same -std=... option that systemc was compiled with. |
Pull Request assignment Areas affected: ebuilds sci-electronics/systemc: @gentoo/sci-electronics No bug reference found in commit messages. If you would like to reference bugs in the pull request, please make sure to use GLEP 66 tags in the commit message. If there is no bug open for this pull request, please open one. Otherwise, please link it to the commit messages as noted above. |
7467330
to
57b0dda
Compare
|
||
RESTRICT="test" | ||
|
||
AUTOTOOLS_IN_SOURCE_BUILD=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not in use anymore
S="${WORKDIR}/${MY_P}" | ||
|
||
src_configure() { | ||
if use cxx17 ; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will not fly. Use the sanest subset (imo C++14) and settle for that, anything else will drive me and QA insane.
This version of systemc attempts to do its own compile-time detection of what C++ standard the current compiler is capable of. This behaviour is suppressed, and the C++14 standard is enforced. If a user sets custom CXXFLAGS via package.env, those settings are honored, and a warning is given in postinst Bug: https://bugs.gentoo.org/637952 Package-Manager: Portage-2.3.14, Repoman-2.3.6
57b0dda
to
74b6ba2
Compare
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why EAPI 5?
|
||
EAPI=5 | ||
|
||
inherit eutils toolchain-funcs flag-o-matic |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you need eutils
?
SLOT="0" | ||
LICENSE="Apache-2.0" | ||
IUSE="doc static-libs" | ||
KEYWORDS="~amd64 ~x86" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc static-libs"
yes, idiomatic order is important
|
||
S="${WORKDIR}/${MY_P}" | ||
|
||
CUSTOM_CXX_STD="$(get-flag -std)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dont define this in global scope
if [ -z "${CUSTOM_CXX_STD}" ]; then | ||
append-cxxflags -std=c++14 | ||
append-cxxflags -DSC_CPLUSPLUS=201402L | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if ! is-flagq '-std=*'; then
append-cxxflags -std=c++14
append-cxxflags -DSC_CPLUSPLUS=201402L
else
ewarn "You set a custom C++ standard for this ebuild. This is unsupported and may introduce breakage."
ewarn "Consult the SystemC manual for which Macro definitions you have to set for this to work."
fi
then get rid of CUSTOM_CXX_STD
} | ||
|
||
src_install() { | ||
dodoc AUTHORS ChangeLog INSTALL NEWS README RELEASENOTES |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
einstalldocs
instead because
- we don't want
INSTALL
- the defaults should cover it (consider whether you really need
RELEASENOTES
, if you do, do a separatedodoc RELEASENOTES
instead)
src_install() { | ||
dodoc AUTHORS ChangeLog INSTALL NEWS README RELEASENOTES | ||
rm docs/Makefile* || die | ||
use doc && dodoc -r docs/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use doc && dodoc -r docs/.
(avoid unnecessary globbing)
dodoc AUTHORS ChangeLog INSTALL NEWS README RELEASENOTES | ||
rm docs/Makefile* || die | ||
use doc && dodoc -r docs/* | ||
cd src |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing || die
elog " ./configure" | ||
elog " cd examples" | ||
elog " make check" | ||
if [ -n "${CUSTOM_CXX_STD}" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with the previous changes, chuck this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please you make get next version of ebuild:
http://pastebin.calculate-linux.ru/en/show/32941
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping
@sonOfRa do you still intend to work on this PR? |
No activity in 45+ days. |
This version of systemc attempts to do its own compile-time detection of
what C++ standard the current C++ compiler is capable of. Overwriting
this is possible by setting certain macros at compile-time. Those macros
are toggled by the cxx03,11,14,17 USE flags.
Package-Manager: Portage-2.3.14, Repoman-2.3.6