Sophie

Sophie

distrib > Mageia > 6 > i586 > by-pkgid > c37f163c081b47e48c8c539635a6bfd1 > files > 2

eclipse-linuxtools-5.3.1-3.mga6.src.rpm

%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