%global git_tag %{version} Name: eclipse-linuxtools Version: 5.3.1 Release: %mkrel 3 Group: Development/Java Summary: Linux specific Eclipse plugins License: EPL URL: http://eclipse.org/linuxtools/ Source0: https://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.git/snapshot/org.eclipse.linuxtools-%{git_tag}.tar.xz Source1: libstdc++-v3.libhover Patch0: eclipse-libhover-local-libstdcxx.patch Patch1: fix-jgit-issue.patch Patch2: fix-terminal-on-newer-jersey.patch BuildRequires: tycho BuildRequires: tycho-extras BuildRequires: eclipse-cdt BuildRequires: eclipse-jdt BuildRequires: swt-chart BuildRequires: eclipse-remote BuildRequires: eclipse-license BuildRequires: eclipse-swtbot BuildRequires: eclipse-gef BuildRequires: exec-maven-plugin BuildRequires: eclipse-ptp-rdt-sync BuildRequires: nekohtml BuildRequires: docker-client >= 4.0.6-2 BuildRequires: glassfish-jax-rs-api BuildRequires: assertj-core BuildRequires: mockito BuildArch: noarch %description The Linux Tools project is a two-faceted project. Firstly, it develops tools and frameworks for writing tools for Linux developers. Secondly, it provides a place for Linux distributions to collaboratively overcome issues surrounding distribution packaging of Eclipse technology. The project will produce both best practices and tools related to packaging. %package -n eclipse-changelog Summary: Eclipse ChangeLog plug-in Epoch: 2 %description -n eclipse-changelog The Eclipse ChangeLog package contains Eclipse features and plugins that are useful for ChangeLog maintenance within the Eclipse IDE. It includes fragments for parsing C, C++, and Java source files to create more detailed entries containing function or method names. %package -n eclipse-rpm-editor Summary: RPM Spec file editor for Eclipse Requires: rpmlint >= 0.81 Requires: rpmdevtools Obsoletes: eclipse-rpmstubby < 3.0.0 Provides: eclipse-rpmstubby = %{version}-%{release} %description -n eclipse-rpm-editor The Eclipse Spec file Editor package contains Eclipse plugins that are useful for maintenance of RPM spec files within the Eclipse IDE. %package -n eclipse-manpage Summary: Man page viewer %description -n eclipse-manpage Plugin providing common interface for displaying a man page in a view or fetching its content for embedded display purposes (e.g hover help). %package -n eclipse-linuxtools-docker Summary: Docker Tooling Requires: docker-client >= 4.0.6-2 %description -n eclipse-linuxtools-docker Plugin providing support for managing Docker containers and images in Eclipse. %package -n eclipse-linuxtools-vagrant Summary: Vagrant Tooling # TODO as vagrant as Requires %description -n eclipse-linuxtools-vagrant Plugin providing support for managing Vagrant machines and mages in Eclipse. %package -n eclipse-gcov Summary: GCov Integration %description -n eclipse-gcov Functionality to integrate GCov with the Eclipse workbench. %package -n eclipse-gprof Summary: GProf Integration %description -n eclipse-gprof Functionality to integrate GProf with the Eclipse workbench. %package -n eclipse-oprofile Summary: Eclipse plugin for OProfile integration Requires: oprofile >= 0.9.3 %description -n eclipse-oprofile Eclipse plugins to integrate OProfile's profiling capabilities with the CDT. %package -n eclipse-perf Summary: Eclipse plugin for Perf integration Requires: perf %description -n eclipse-perf Eclipse plugins to integrate Perf's profiling capabilities with the CDT. %package -n eclipse-valgrind Summary: Valgrind Tools Integration for Eclipse Requires: valgrind %description -n eclipse-valgrind This package for Eclipse allows users to launch their C/C++ Development Tools projects using the Valgrind tool suite and presents the results in the IDE. %package -n eclipse-systemtap Summary: Systemtap Tools Integration for Eclipse Requires: systemtap %description -n eclipse-systemtap Integrate Systemtap's profiling and tracing capabilities with the CDT. %package libhover Summary: Libhover documentaton plugin for Eclipse %description libhover Common interface for C library hover help to the CDT (C/C++ Development Tools) as well as a fundamental set of library hovers to choose from. %package javadocs Summary: Javadocs documentaton plugin for Eclipse %description javadocs Integrates system installed/available javadocs into Eclipse help system. %package tests Summary: Linux Tools Project Test Bundles Requires: eclipse-changelog Requires: eclipse-rpmstubby Requires: eclipse-rpm-editor Requires: eclipse-gcov Requires: eclipse-gprof Requires: eclipse-oprofile Requires: eclipse-perf Requires: eclipse-valgrind Requires: eclipse-systemtap Requires: eclipse-linuxtools-javadocs Requires: eclipse-ptp Requires: eclipse-swtbot Requires: eclipse-tests %description tests All test bundles for the Linux Tools project. %prep %setup -q -n org.eclipse.linuxtools-%{git_tag} %patch0 -p1 %patch1 -p1 %patch2 -p1 pushd libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx mkdir data cp %{SOURCE1} data/. popd %pom_remove_plugin org.jacoco:jacoco-maven-plugin # org.assertj -> org.assertj.core # org.mockito -> org.mockito.mockito-core sed -i -e 's/org.assertj/org.assertj.core/' containers/org.eclipse.linuxtools.docker.ui.tests/META-INF/MANIFEST.MF sed -i -e 's/org.mockito/org.mockito.mockito-core/' valgrind/org.eclipse.linuxtools.valgrind.core.tests/META-INF/MANIFEST.MF # Don't use target platform %pom_disable_module releng %pom_disable_module org.eclipse.linuxtools.changelog.ui.tests changelog %pom_disable_module org.eclipse.linuxtools.docker.ui.tests containers sed -i '/<target>/,/<\/target>/ d' pom.xml #fix javax.ws.rs api dependencly declaration sed -i 's/javax.ws.rs/javax.ws.rs-api/' containers/org.eclipse.linuxtools.docker.core/META-INF/MANIFEST.MF # Fix uses conflict introduced by EBZ #474606 sed -i -e '9i\ javax.annotation-api;bundle-version="1.2.0",' \ containers/org.eclipse.linuxtools.docker.core/META-INF/MANIFEST.MF # Support docker-client >= 4 sed -i -e '/com.spotify/s/3\.6\.9/4.1.0/' \ containers/org.eclipse.linuxtools.docker.core/META-INF/MANIFEST.MF sed -i 's|com.spotify.docker.client.DockerRequestException|com.spotify.docker.client.exceptions.DockerRequestException|g s|com.spotify.docker.client.DockerException|com.spotify.docker.client.exceptions.DockerException|g s|com.spotify.docker.client.DockerCertificateException|com.spotify.docker.client.exceptions.DockerCertificateException|g s|com.spotify.docker.client.DockerTimeoutException|com.spotify.docker.client.exceptions.DockerTimeoutException|g s|com.spotify.docker.client.ContainerNotFoundException|com.spotify.docker.client.exceptions.ContainerNotFoundException|g ' containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/*.java \ containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/docker/core/IDockerConnection.java \ containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/{wizards,commands}/*.java # Relax dep on commons-compress sed -i -e '/commons.compress/s/1\.6\.0/1.5.0/' \ containers/org.eclipse.linuxtools.docker.ui/META-INF/MANIFEST.MF %mvn_package "::pom::" __noinstall %mvn_package ":*.{test,tests}" linuxtools-tests %mvn_package ":*.tests.hamcrest-wrap" linuxtools-tests %mvn_package ":org.eclipse.linuxtools.docker*" docker %mvn_package ":org.eclipse.linuxtools.vagrant*" vagrant %mvn_package "org.eclipse.linuxtools{,.profiling}:" core %mvn_package "org.eclipse.linuxtools.javadocs:" javadocs %mvn_package "org.eclipse.linuxtools.changelog:" changelog %mvn_package "org.eclipse.linuxtools.gcov:" gcov %mvn_package "org.eclipse.linuxtools.gprof:" gprof %mvn_package "org.eclipse.linuxtools.man:" manpage %mvn_package "org.eclipse.linuxtools.oprofile:" oprofile %mvn_package "org.eclipse.linuxtools.perf{,-parent}:" perf %mvn_package "org.eclipse.linuxtools.rpm:" rpm-editor %mvn_package "org.eclipse.linuxtools.systemtap:" systemtap %mvn_package "org.eclipse.linuxtools.valgrind:" valgrind %mvn_package "org.eclipse.linuxtools.cdt.libhover:" libhover # Create opcontrol wrapper pushd oprofile/org.eclipse.linuxtools.oprofile.core/natives/linux/scripts rm -f *.sh echo '#!/bin/sh' > opcontrol echo 'exec pkexec /usr/bin/opcontrol ${1+"$@"}' >> opcontrol popd %build %mvn_build -j -f %install %mvn_install # Install opcontrol wrapper polkit permissions policy install -d -m 755 %{buildroot}%{_datadir}/polkit-1/actions install -D -m 644 oprofile/org.eclipse.linuxtools.oprofile.core/natives/linux/scripts/org.eclipse.linuxtools.oprofile.policy \ %{buildroot}%{_datadir}/polkit-1/actions/org.eclipse.linuxtools.oprofile.policy sed -i '/natives\/linux\/scripts\/opcontrol/ s|644|755|' .mfiles-oprofile # Appstream addon metadata for p in changelog gcov gprof oprofile perf systemtap valgrind ; do install -m644 -D $p/eclipse-$p.metainfo.xml %{buildroot}%{_datadir}/appdata/eclipse-$p.metainfo.xml done cat << EOFSCRIPT > eclipse-runLinuxToolsTestBundles #! /bin/bash eclipse-runTestBundles %{_javadir}/linuxtools-tests EOFSCRIPT install -D -m 755 eclipse-runLinuxToolsTestBundles %{buildroot}%{_bindir}/eclipse-runLinuxToolsTestBundles %files -f .mfiles-core %files -n eclipse-changelog -f .mfiles-changelog %{_datadir}/appdata/eclipse-changelog.metainfo.xml %files -n eclipse-rpm-editor -f .mfiles-rpm-editor %files -n eclipse-manpage -f .mfiles-manpage %files -n eclipse-gcov -f .mfiles-gcov %{_datadir}/appdata/eclipse-gcov.metainfo.xml %files -n eclipse-gprof -f .mfiles-gprof %{_datadir}/appdata/eclipse-gprof.metainfo.xml %files -n eclipse-linuxtools-docker -f .mfiles-docker %files -n eclipse-linuxtools-vagrant -f .mfiles-vagrant %files -n eclipse-oprofile -f .mfiles-oprofile %{_datadir}/polkit-1/actions/org.eclipse.linuxtools.oprofile.policy %{_datadir}/appdata/eclipse-oprofile.metainfo.xml %files -n eclipse-perf -f .mfiles-perf %{_datadir}/appdata/eclipse-perf.metainfo.xml %files -n eclipse-valgrind -f .mfiles-valgrind %{_datadir}/appdata/eclipse-valgrind.metainfo.xml %files -n eclipse-systemtap -f .mfiles-systemtap %{_datadir}/appdata/eclipse-systemtap.metainfo.xml %files libhover -f .mfiles-libhover %files javadocs -f .mfiles-javadocs %files -n eclipse-linuxtools-tests -f .mfiles-linuxtools-tests %{_bindir}/eclipse-runLinuxToolsTestBundles %changelog * Mon May 22 2017 neoclust <neoclust> 5.3.1-3.mga6 + Revision: 1104116 - Remove vagrant as require * Mon May 22 2017 neoclust <neoclust> 5.3.1-2.mga6 + Revision: 1104100 - Fix deps * Sun May 21 2017 neoclust <neoclust> 5.3.1-1.mga6 + Revision: 1104008 - New version 5.3.1 * Tue Oct 04 2016 daviddavid <daviddavid> 5.1.0-1.mga6 + Revision: 1058542 - Update to final release of 5.1.0 - Fix Docker Tooling terminal on newer versions of Jersey - Fix Bug 459549 regarding gcov not matching command-line results * Fri Jul 01 2016 daviddavid <daviddavid> 5.0.0-2.mga6 + Revision: 1038264 - Update to Neon release - Bump requirement on docker-client to fixed version * Sat May 21 2016 daviddavid <daviddavid> 5.0.0-0.2.git504cc73.1.mga6 + Revision: 1017344 - Take a newer snapshot * Wed May 04 2016 daviddavid <daviddavid> 5.0.0-0.1.gitc2364c0.1.mga6 + Revision: 1009401 - Upgrade to latest master 5.0.0 to build with Neon * Sun May 01 2016 daviddavid <daviddavid> 4.2.2-1.mga6 + Revision: 1008393 - Update to 4.2.2 release + neoclust <neoclust> - Second rebuild of the java stack * Sun Feb 21 2016 neoclust <neoclust> 4.2.1-0.2.gitc898d62.2.mga6 + Revision: 975793 - First rebuild of the java stack - sync package eclipse-linuxtools with fedora