diff options
author | Sam James <sam@gentoo.org> | 2021-11-15 04:44:02 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-11-15 04:45:16 +0000 |
commit | 8f78650cb74ac5cfe2d73c8a9c35899dafee478f (patch) | |
tree | cde4a8af6acb80b5e6c3e55a25b81911855d7e17 /dev-util/bbe | |
parent | kde-apps/kio-extras: Stabilize 21.04.3-r3 arm64, #817008 (diff) | |
download | gentoo-8f78650cb74ac5cfe2d73c8a9c35899dafee478f.tar.gz gentoo-8f78650cb74ac5cfe2d73c8a9c35899dafee478f.tar.bz2 gentoo-8f78650cb74ac5cfe2d73c8a9c35899dafee478f.zip |
dev-util/bbe: fix build without optimisations
Let's not bother trying to inline these -- the compiler is smart enough
to do it if it wants to. They're not defined correctly right now if
we wanted to keep them inline and this is far simpler.
Closes: https://bugs.gentoo.org/795099
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/bbe')
-rw-r--r-- | dev-util/bbe/bbe-0.2.2-r1.ebuild | 14 | ||||
-rw-r--r-- | dev-util/bbe/files/bbe-0.2.2-inline.patch | 133 |
2 files changed, 138 insertions, 9 deletions
diff --git a/dev-util/bbe/bbe-0.2.2-r1.ebuild b/dev-util/bbe/bbe-0.2.2-r1.ebuild index 63a113fdda81..8a6bbbb6e014 100644 --- a/dev-util/bbe/bbe-0.2.2-r1.ebuild +++ b/dev-util/bbe/bbe-0.2.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -14,17 +14,13 @@ SLOT="0" KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux" IUSE="" +PATCHES=( + "${FILESDIR}"/bbe-0.2.2-inline.patch +) + src_prepare() { default sed -i -e '/^htmldir/d' doc/Makefile.am || die - eaclocal eautoreconf } - -src_configure() { - # Avoid linking problems, bug #750545. - replace-flags -Os -O2 - - default -} diff --git a/dev-util/bbe/files/bbe-0.2.2-inline.patch b/dev-util/bbe/files/bbe-0.2.2-inline.patch new file mode 100644 index 000000000000..4429e01ed483 --- /dev/null +++ b/dev-util/bbe/files/bbe-0.2.2-inline.patch @@ -0,0 +1,133 @@ +Let's not bother trying to inline these -- the compiler is smart enough +to do it if it wants to. They're not defined correctly right now if +we wanted to keep them inline and this is far simpler. +--- a/src/bbe.h ++++ b/src/bbe.h +@@ -167,10 +167,10 @@ set_input_file(char *file); + extern void + init_buffer(); + +-extern inline unsigned char ++extern unsigned char + read_byte(); + +-extern inline int ++extern int + get_next_byte(); + + extern void +@@ -179,16 +179,16 @@ mark_block_end(); + extern int + find_block(); + +-extern inline int ++extern int + last_byte(); + + extern void + write_buffer(unsigned char *buf,off_t length); + +-extern inline void ++extern void + put_byte(unsigned char byte); + +-extern inline void ++extern void + write_next_byte(); + + extern void +@@ -215,10 +215,10 @@ write_string(char *string); + extern char * + get_current_file(void); + +-extern inline unsigned char * ++extern unsigned char * + read_pos(); + +-extern inline unsigned char * ++extern unsigned char * + block_end_pos(); + + extern char * +--- a/src/buffer.c ++++ b/src/buffer.c +@@ -191,21 +191,21 @@ read_input_stream() + } + + /* reads byte from the buffer */ +-inline unsigned char ++unsigned char + read_byte() + { + return *in_buffer.read_pos; + } + + /* returns pointer to the read position */ +-inline unsigned char * ++unsigned char * + read_pos() + { + return in_buffer.read_pos; + } + + /* return the block end pointer */ +-inline unsigned char * ++unsigned char * + block_end_pos() + { + return in_buffer.block_end; +@@ -214,7 +214,7 @@ block_end_pos() + /* advances the read pointer, if buffer has reached low water, get more from stream to buffer */ + /* returns false in case of end of stream */ + +-inline int ++int + get_next_byte() + { + if(in_buffer.read_pos >= in_buffer.low_pos) +@@ -335,14 +335,14 @@ mark_block_end() + } + + /* returns true if current byte is last in block */ +-inline int ++int + last_byte() + { + return in_buffer.block_end == in_buffer.read_pos; + } + + /* returns true if end of stream has been reached */ +-inline int ++int + end_of_stream() + { + if(in_buffer.stream_end != NULL && in_buffer.stream_end == in_buffer.read_pos) +@@ -487,7 +487,7 @@ write_buffer(unsigned char *buf,off_t length) + } + + /* put_byte, put one byte att current write position */ +-inline void ++void + put_byte(unsigned char byte) + { + *out_buffer.write_pos = byte; +@@ -495,7 +495,7 @@ put_byte(unsigned char byte) + + /* next_byte, advance the write pointer by one */ + /* if buffer full write it to disk */ +-inline void ++void + write_next_byte() + { + out_buffer.write_pos++; +--- a/src/execute.c ++++ b/src/execute.c +@@ -677,7 +677,7 @@ close_commands(struct commands *commands) + } + + /* reset the rpos counter for next block, in case block was shorter eg. delete count */ +-inline void ++void + reset_rpos(struct command_list *c) + { + while(c != NULL) |