public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: David Haller <gentoo@dhaller.de>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] How to resume 'emerge -e @world' after grub fails?
Date: Wed, 20 Dec 2017 23:27:12 +0100	[thread overview]
Message-ID: <20171220222712.kgaa5cnlsilefpos@grusum.endjinn.de> (raw)
In-Reply-To: <H25PGKTO.AMS6KUDP.CLYCPRZZ@WFNFK22G.DTGJ5E5R.6ODPCEM3>

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

Hello,

On Wed, 20 Dec 2017, Helmut Jarausch wrote:
>On 12/19/2017 07:13:55 PM, Bas Zoutendijk wrote:
>> On Tue 19 Dec 2017 at 16:45:15 +0100, Helmut Jarausch wrote:
>> > In addition. I keep gcc-6.4.0 since it can generate PIE-enabled
>> > executables AND it it the last compiler with 'gcj'.
>> >
>> > I don't understand why 'pdftk' and packages depending on that have been
>> > masked.
>> >
>> > They build and run fine here (profile 17.0)
>> 
>>   If I read the =app-text/pdftk-2.02 ebuild correctly,  it actually uses
>> GCC 5.4.0,  regardless  of  what  your  system  compiler  is  (6.4.0 for
>> profile 17.0):
>> 
>>         # We need gcc-5 because of Java
>>         export PATH="$(gcc-config -B 5.4.0):${PATH}"
>
>Yes, but you can change this to
>
>RDEPEND="sys-devel/gcc:6.4.0[gcj]"
>
>which works just fine.

But should suffice to be

DEPEND="sys-devel/gcc[gcj]"
RDEPEND="${DEPEND}"

i.e. DEPEND not RDEPEND. The 6.4.x part is implicit by 7.x lacking the
gcj USE-flag. OTOH, in my ebuild I explicitly depend on 6.4.0 (but
only because I gcc-config'ed to gcc-7.2), so... If you have 6.4.0
selected, that explicit dep could be killed. It's just a matter of
'gcj' and 'gcjh' being in the path and found (and a matching gcc too).

And BTW, you can't change to java/icedtea, I've looked at the code,
it'd be a major rewrite, pdftk uses lots of gcj specific stuff.

I'll attach my whole diff to the original 2.02.ebuild.

HTH,
-dnh

-- 
"Here, in the bare dark face of night /  A calm unhurried eye draws sight
 -- We see in what we think we fear / The cloudings of our thought made clear"
"A most interesting contribution, we're sure, but can we keep this just a
little more focused?" -- GSV "Wisdom Like Silence" to LSV "Serious Callers Only"

[-- Attachment #2: pdftk-2.02-gcc6-ebuild.patch --]
[-- Type: text/x-patch, Size: 1250 bytes --]

--- /usr/portage/app-text/pdftk/pdftk-2.02.ebuild	2017-12-16 02:20:47.000000000 +0100
+++ pdftk-2.02.ebuild	2017-12-20 23:20:27.139925178 +0100
@@ -13,24 +13,31 @@
 SLOT="0"
 KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux"
 
-RDEPEND="sys-devel/gcc:5.4.0[gcj]"
-DEPEND="${RDEPEND}
-	sys-devel/gcc-config
-"
+DEPEND="sys-devel/gcc:6.4.0[gcj]"
+RDEPEND="${DEPEND}"
 
 S="${WORKDIR}/${P}-dist/${PN}"
 
 src_prepare() {
 	epatch "${FILESDIR}"/${P}-flags.patch
+
+	export PATH="$(gcc-config -B 6.4.0):${PATH}"
+	host=$(gcj -dumpmachine)
+	gcj_ver=$(gcj -dumpversion)
+	gcc_ver=$(gcc -dumpversion)
+	sed -i.orig \
+	    -e "/CPP\|CXX/s@\$(VERSUFF)@-${gcc_ver}@" \
+	    -e "/GCJ\|GCJH/s@\$(VERSUFF)@-${gcj_ver}@" \
+	    -e "/LIBGCJ=/s@.*@export LIBGCJ=/usr/share/gcc-data/${host}/${gcc_ver}/java/libgcj-${gcj_ver}.jar@" \
+	    -e '/GJAR=/s/$(VERSUFF)//' \
+	    Makefile.Debian
 }
 
 src_compile() {
 	# Settings by java-config break compilation by gcj.
 	unset CLASSPATH
 	unset JAVA_HOME
-
-	# We need gcc-5 because of Java
-	export PATH="$(gcc-config -B 5.4.0):${PATH}"
+	export GCJFLAGS="${GCJFLAGS} -Wno-deprecated"
 
 	# Parallel make fails; confirmed, still not fixed in version 2.02.
 	emake -j1 -f "${S}"/Makefile.Debian || die "Compilation failed."

  reply	other threads:[~2017-12-20 23:19 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-18 16:00 [gentoo-user] How to resume 'emerge -e @world' after grub fails? Grant Edwards
2017-12-18 16:07 ` John Blinka
2017-12-18 16:14   ` [gentoo-user] " Grant Edwards
2017-12-18 16:45     ` Dale
2017-12-20 20:16     ` Grant Edwards
2017-12-20 23:28       ` Dale
2017-12-21  8:43         ` Mart Raudsepp
2017-12-21  9:45   ` Jörg Schaible
2017-12-21 12:00     ` Marc Joliet
2017-12-21 17:02       ` John Covici
2018-01-07 12:39         ` Marc Joliet
2017-12-21 17:13       ` Jörg Schaible
2018-01-07 12:41         ` Marc Joliet
2017-12-21 17:32       ` Grant Edwards
2017-12-18 16:14 ` [gentoo-user] " Dale
2017-12-18 17:55   ` Mick
2017-12-18 19:02     ` David Haller
2017-12-18 19:31       ` Francisco Ares
2017-12-18 20:05         ` David Haller
2017-12-18 22:49     ` Dale
2017-12-18 23:05       ` Adam Carter
2017-12-18 23:38         ` Dale
2017-12-19  3:06           ` David Haller
2017-12-19  4:03             ` Dale
2017-12-20 22:54               ` David Haller
2017-12-21  4:49                 ` Dale
2017-12-19  5:51             ` Adam Carter
2017-12-19  9:15               ` Neil Bothwick
2017-12-19 15:45                 ` Helmut Jarausch
2017-12-19 18:13                   ` Bas Zoutendijk
2017-12-20  8:08                     ` Helmut Jarausch
2017-12-20 22:27                       ` David Haller [this message]
2017-12-19 17:45                 ` Dale
2017-12-19 20:22                   ` Neil Bothwick
2017-12-20  2:04                 ` Adam Carter
2017-12-20 23:18               ` David Haller
2017-12-19  9:21             ` Neil Bothwick

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171220222712.kgaa5cnlsilefpos@grusum.endjinn.de \
    --to=gentoo@dhaller.de \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox