Skip to content

Instantly share code, notes, and snippets.

View v4hn's full-sized avatar

Michael Görner v4hn

View GitHub Profile
Ideas for an partially automated CI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Ensure all mandatory variables are set by DETAILS
- Make sure SOURCE_VFY matches file at URL.
- Make sure SOURCEX_VFY is sha256:
- Make sure MAINTAINER is an email adress if set
- Make sure ENTERED is <= UPDATED
- Check if UPDATED is *after* previous value of UPDATED
- Check if UPDATED is in the last 4 weeks/next week
- Make sure there is a SOURCEX_VFY/SOURCEX_URL for each SOURCE
@v4hn
v4hn / gist:1ded2876669a4f285b32cdbd930276fc
Created January 13, 2022 15:23
meson build fails with python 3.9.2 and setuptools 60.5.0
Traceback (most recent call last):
File "/usr/src/meson-0.60.1/setup.py", line 31, in <module>
setup(data_files=data_files,)
File "/usr/lib/python3.9/site-packages/setuptools/__init__.py", line 154, in setup
_install_setup_requires(attrs)
File "/usr/lib/python3.9/site-packages/setuptools/__init__.py", line 146, in _install_setup_requires
dist.parse_config_files(ignore_option_errors=True)
File "/usr/lib/python3.9/site-packages/setuptools/dist.py", line 804, in parse_config_files
parse_configuration(
File "/usr/lib/python3.9/site-packages/setuptools/config.py", line 150, in parse_configuration
cd /home/v4hn/ros/melodic/moveit/build/libfcl-dev/src && /usr/bin/cmake -E __run_co_compile --iwyu="/home/v4hn/repos/include-what-you-use/build/bin/include-what-you-use;-Xiwyu;any;-Xiwyu;iwyu;-Xiwyu;args" -- /usr/bin/clang++ -Dfcl_EXPORTS -I/home/v4hn/ros/melodic/moveit/build/libfcl-dev/include -I/home/v4hn/ros/melodic/moveit/src/fcl/include -isystem /usr/include/eigen3 -g -fPIC -std=c++11 -W -Wall -Wextra -fvisibility=hidden -mfpmath=sse -msse -msse2 -msse3 -mssse3 -o
CMakeFiles/fcl.dir/narrowphase/collision.cpp.o -c /home/v4hn/ros/melodic/moveit/src/fcl/src/narrowphase/collision.cpp
Error running '/home/v4hn/repos/include-what-you-use/build/bin/include-what-you-use': In file included from /home/v4hn/ros/melodic/moveit/src/fcl/src/narrowphase/collision.cpp:38:
In file included from /home/v4hn/ros/melodic/moveit/src/fcl/include/fcl/narrowphase/collision-inl.h:41:
In file included from /home/v4hn/ros/melodic/moveit/src/fcl/include/fcl/narrowphase/collision.h:41:
In file included from /home/v4hn/ros/melodic
Error running '/home/v4hn/repos/include-what-you-use/build/bin/include-what-you-use': In file included from /home/v4hn/ros/melodic/moveit/src/fcl/src/narrowphase/collision.cpp:38:
In file included from /home/v4hn/ros/melodic/moveit/src/fcl/include/fcl/narrowphase/collision-inl.h:41:
In file included from /home/v4hn/ros/melodic/moveit/src/fcl/include/fcl/narrowphase/collision.h:41:
In file included from /home/v4hn/ros/melodic/moveit/src/fcl/include/fcl/narrowphase/collision_object.h:41:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../include/c++/9.3.0/memory:63:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../include/c++/9.3.0/bits/allocator.h:46:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../include/c++/9.3.0/x86_64-pc-linux-gnu/bits/c++allocator.h:33:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../include/c++/9.3.0/ext/new_allocator.h:33:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/9.3.
@v4hn
v4hn / test-parameter-callback.cpp
Last active April 21, 2020 14:30
Hijack cached parameters for dynamic parameter updates without dynamic_reconfigure
#include <ros/ros.h>
#include <ros/xmlrpc_manager.h>
const std::string PARAMETER {"test_parameter"};
namespace ros {
std::set<std::string> g_subscribed_params;
namespace param {
void paramUpdateCallback(XmlRpc::XmlRpcValue& params, XmlRpc::XmlRpcValue& result);
}
@v4hn
v4hn / gist:d3bbe8db3a8f2940002551b88b991033
Last active April 9, 2020 18:39
SFINAE solutions to call a method if it exists *but simply omitting the call otherwise*
/* Given two classes, the challenge is to find a nice way to call
* its `run()` function if it exists, but omit the call otherwise */
struct HasRun {
void run(){};
};
struct HasNoRun {
//void run(){};
};
#include <ros/ros.h>
#include <moveit/move_group_interface/move_group_interface.h>
#include <moveit/robot_trajectory/robot_trajectory.h>
int main(int argc, char **argv) {
ros::init(argc, argv, "Foobar");
ros::AsyncSpinner spinner(1);
spinner.start();
$ diff -qrU5 vim80.orig/ vim80
Files vim80.orig/appveyor.yml and vim80/appveyor.yml differ
Files vim80.orig/README_dos.txt and vim80/README_dos.txt differ
Files vim80.orig/README_mac.txt and vim80/README_mac.txt differ
Only in vim80/runtime/autoload: contextcomplete.vim
Only in vim80/runtime/autoload: context.vim
Files vim80.orig/runtime/autoload/getscript.vim and vim80/runtime/autoload/getscript.vim differ
Files vim80.orig/runtime/autoload/gzip.vim and vim80/runtime/autoload/gzip.vim differ
Files vim80.orig/runtime/autoload/phpcomplete.vim and vim80/runtime/autoload/phpcomplete.vim differ