<feed xmlns='http://www.w3.org/2005/Atom'>
<title>buildroot/package/libupnpp, branch 2017.08</title>
<subtitle>OpenPOWER buildroot sources</subtitle>
<id>https://git.raptorcs.com/git/buildroot/atom?h=2017.08</id>
<link rel='self' href='https://git.raptorcs.com/git/buildroot/atom?h=2017.08'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/'/>
<updated>2017-07-31T17:10:08+00:00</updated>
<entry>
<title>package/lib*: fix wrapping of Config.in help text</title>
<updated>2017-07-31T17:10:08+00:00</updated>
<author>
<name>Adam Duskett</name>
<email>Aduskett@gmail.com</email>
</author>
<published>2017-07-31T13:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=5dccd7249e7dacceb370b0282592d504876e460e'/>
<id>urn:sha1:5dccd7249e7dacceb370b0282592d504876e460e</id>
<content type='text'>
The check-package script when ran gives warnings on text wrapping
on all of these Config files.  This patch cleans up all warnings
related to the text wrapping for the Config files starting with
lib in the package directory.

The appropriate indentation is: &lt;tab&gt;&lt;2 spaces&gt;&lt;62 chars&gt;
See http://nightly.buildroot.org/#writing-rules-config-in for more
information.

Signed-off-by: Adam Duskett &lt;aduskett@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>libupnpp: bump to version 0.15.3</title>
<updated>2017-07-01T17:45:02+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2017-07-01T17:36:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=eced4bb52413ae0bec3ac1938bd35b703d7de232'/>
<id>urn:sha1:eced4bb52413ae0bec3ac1938bd35b703d7de232</id>
<content type='text'>
Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>libupnpp: needs gcc &gt;= 4.9</title>
<updated>2017-06-07T19:57:33+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2017-06-07T19:25:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=5d043799cd346b69bccdff78718677174133f0e0'/>
<id>urn:sha1:5d043799cd346b69bccdff78718677174133f0e0</id>
<content type='text'>
After bumping libupnpp from version 0.15.1 to 0.15.2 compilation fails
for toolchains using GCC 4.7:

```
libupnpp/control/discovery.cxx: In constructor 'UPnPClient::UPnPDeviceDirectory::UPnPDeviceDirectory(time_t)':
libupnpp/control/discovery.cxx:338:5: error: 'yield' is not a member of 'std::this_thread'
```

Before version 0.15.2, libupnpp used sched_yield() which was replaced by
`std::this_thread::yield()` in the new version.

Looking at the `&lt;thread&gt;` header file of the PowerPC toolchain [1] from
the autobuilder shows that `yield()` is only enabled if
`_GLIBCXX_USE_SCHED_YIELD` is defined:

```
    /// yield
    inline void
    yield() noexcept
    { __gthread_yield(); }
```

Note, that `__gthread_yield()` inlines to a call to `sched_yield()`:

```
static inline int
__gthread_yield (void)
{
  return __gthrw_(sched_yield) ();
}
```

This macro is only defined if GCC was built with `--enable-libstdcxx-time`,
which is obviously not the case for the affected toolchains. For GCC 4.7 and
below this option defaults to no, which means `sched_yield()` is not enabled
though it is be available.

The issue was discussed on stackoverflow [2]. In GCC 4.9.0 the issue has
been fixed, by automatically enabling `sched_yield()` on platforms that are
known to support them.

Therefore, we update the dependency to GCC 4.9.

Fixes:
http://autobuild.buildroot.net/results/506/50670d8119b4fbd26585d3d9bd646adb1d904dbe/
http://autobuild.buildroot.net/results/8b0/8b021648a073bde25dd6936ed1ea1e39977bf89b/
http://autobuild.buildroot.net/results/b6d/b6d7437e1cf8cf0b3726395401ac4ebd9af2833b/
http://autobuild.buildroot.net/results/0bf/0bf84f61a72a65a75c5fd0a787680f483cfead26/
.. and more.

[1] http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng_e500v2-linux-gnuspe.tar.xz
[2] https://stackoverflow.com/a/12961816

Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>libupnpp: bump to version 0.15.2</title>
<updated>2017-05-29T20:35:06+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2017-05-29T10:20:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=0343227ad9f7c8636cf0126772e4fca9259064db'/>
<id>urn:sha1:0343227ad9f7c8636cf0126772e4fca9259064db</id>
<content type='text'>
Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>package/l*/Config.in: fix ordering of statements</title>
<updated>2017-05-01T09:51:23+00:00</updated>
<author>
<name>Adam Duskett</name>
<email>Aduskett@gmail.com</email>
</author>
<published>2017-04-22T17:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=190b2b409ccf1ccf6b1f701d3d2a033c747ac013'/>
<id>urn:sha1:190b2b409ccf1ccf6b1f701d3d2a033c747ac013</id>
<content type='text'>
The check-package script when ran gives warnings on ordering issues
on all of these Config files.  This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter l in the package directory.

The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.

Signed-off-by: Adam Duskett &lt;Adamduskett@outlook.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>boot, linux, package: use SPDX short identifier for GPLv2/GPLv2+</title>
<updated>2017-04-01T13:16:38+00:00</updated>
<author>
<name>Rahul Bedarkar</name>
<email>rahulbedarkar89@gmail.com</email>
</author>
<published>2017-03-30T13:43:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=af31c309e73ca88ee70c52e591f90e4b89ff5e55'/>
<id>urn:sha1:af31c309e73ca88ee70c52e591f90e4b89ff5e55</id>
<content type='text'>
We want to use SPDX identifier for license strings as much as possible.
SPDX short identifier for GPLv2/GPLv2+ is GPL-2.0/GPL-2.0+.

This change is done by using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\&lt;GPLv2\&gt;/GPL-2.0/g'

Signed-off-by: Rahul Bedarkar &lt;rahulbedarkar89@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>package/libupnpp: bump to version 0.15.1</title>
<updated>2016-10-12T11:57:52+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2016-10-11T19:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=5abf7b5f406277cc095dbcafd7f8215b1155b370'/>
<id>urn:sha1:5abf7b5f406277cc095dbcafd7f8215b1155b370</id>
<content type='text'>
Remove patches applied upstream. No need to set AUTORECONF anymore.

Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>package/libupnpp: add patch to get pkg-config file</title>
<updated>2016-09-17T11:33:30+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2016-09-15T06:39:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=defd94927c48064ec5fc76040925319b0526304c'/>
<id>urn:sha1:defd94927c48064ec5fc76040925319b0526304c</id>
<content type='text'>
Apply a patch from upstream to install a pkg-config file for libupnpp.

Fetch from:
https://github.com/medoc92/libupnpp/commit/9f03bb0e7b47e2843edea6f25ed9eabbfb6412df

Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>package/libupnpp: add patch to fix build issue</title>
<updated>2016-09-13T19:27:35+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2016-09-13T13:35:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=9ecb1b858c1ed5b625ed942d32f040a67e8355d2'/>
<id>urn:sha1:9ecb1b858c1ed5b625ed942d32f040a67e8355d2</id>
<content type='text'>
Bumping libupnpp to version 0.15.0 introduced a build error for some
architectures:

```
./libupnpp/workqueue.h:308:29: error: field 'res' has incomplete type
         std::future&lt;void *&gt; res;
                             ^
./libupnpp/workqueue.h: In member function 'bool
WorkQueue&lt;T&gt;::start(int, void* (*)(void*), void*)':
./libupnpp/workqueue.h:81:25: error: invalid use of incomplete type
'class std::packaged_task&lt;void*(void*)&gt;'
             w.res = task.get_future();
```

The problem is that `std::future` is not available for all
architectures, e.g. it is missing for ARMv5 (soft-float). libstdc++
enables `std::future` only if `ATOMIC_INT_LOCK_FREE &gt; 1`, which
according the the libstdc++ documentation means that operations on
atomic ints are guaranteed to be lock-free.

This check is not true for some target, e.g. the toolchain for the
ARMv5 target defines:

```
$ echo | /usr/bin/arm-linux-g++ -dM -E - | grep ATOMIC_INT_LOCK_FREE
#define __GCC_ATOMIC_INT_LOCK_FREE 1

```

We add a patch from upstream which detects if `std::future` is available
and opts-out the functionality for unsupported targets.

Fixes:
http://autobuild.buildroot.net/results/f8eb38ef79160e1f646dae0be19f27fae82a58bc
http://autobuild.buildroot.net/results/158e0ceeff009146b78a0d2bb278c76479bafc34
http://autobuild.buildroot.net/results/1760cf53c77e16bb2b5bc795bd0ce5eb65f258f2
http://autobuild.buildroot.net/results/5b73e52495aa1bbb2c704492237da784b9d74bc2
http://autobuild.buildroot.net/results/6d922a1bbace024fcf040beb49bbb119036865ef
http://autobuild.buildroot.net/results/bebb8983e7579ee4b4bcf18f037c7797ab86f8db
http://autobuild.buildroot.net/results/0f1a5832ced2a6ec2e18f9f14197446fda6af692
http://autobuild.buildroot.net/results/94a9cc349f23a47246b06619a019bcb917493415
http://autobuild.buildroot.net/results/19fba094098af5c1ce1e1371e5e88393c4a6ac9c
http://autobuild.buildroot.net/results/578935b5c04005d1f096059387d16911f953ec6f
http://autobuild.buildroot.net/results/2ad698f1665b7b886141672181cb76ec3c40a743

and more...

Note, that we enable autoreconf as the patch touches configure.ac.

Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>package/libupnpp: bump to version 0.15.0</title>
<updated>2016-09-11T13:34:51+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2016-09-11T07:12:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=139c7f980038d16787d9d35fdf500b4603d0dfa3'/>
<id>urn:sha1:139c7f980038d16787d9d35fdf500b4603d0dfa3</id>
<content type='text'>
Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
</feed>
