d377af5
%{?scl:%scl_package eclipse-cdt}
11adddc
%{!?scl:%global pkg_name %{name}}
11adddc
3025a58
%global debug_package %{nil}
11adddc
%global _enable_debug_packages 0
bb1af13
%global __jar_repack %{nil}
3025a58
7a6cdf8
# Change following to 0 to default to no container/remote support when building for 
7a6cdf8
# first time in a release...this is needed to build eclipse-linuxtools-docker and
7a6cdf8
# eclipse.remote which are circular dependencies of eclipse-cdt
068a58a
%global _enable_container_and_remote_support 1
e2f9335
e90ae60
Epoch: 1
2777248
993da43
%define major                   8
6234116
%define minor                   8
a90b04c
%define majmin                  %{major}.%{minor}
672b2af
%define micro                   0
Andrew Overholt 9fa799a
%define eclipse_base            %{_libdir}/eclipse
6234116
%define cdt_snapshot		org.eclipse.cdt-CDT_8_8_0
Andrew Overholt 9fa799a
5d1c762
# All arches line up except i386 -> x86
5d1c762
%ifarch %{ix86}
5d1c762
%define eclipse_arch    x86
5d1c762
%else
3f44445
%ifarch %{arm}
3f44445
%define eclipse_arch    arm
3f44445
%else
f8d9c04
%define eclipse_arch    %{_arch}
5d1c762
%endif
3f44445
%endif
5d1c762
a90b04c
Summary:        Eclipse C/C++ Development Tools (CDT) plugin
11adddc
Name:           %{?scl_prefix}eclipse-cdt
a90b04c
Version:        %{majmin}.%{micro}
068a58a
Release:        3%{?dist}
039d9f9
License:        EPL and CPL
a90b04c
URL:            http://www.eclipse.org/cdt
a90b04c
9ee9d1b
Source0: http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/snapshot/%{cdt_snapshot}.tar.xz
6c5f3b3
3cdf7ba
Source3: eclipse-cdt.desktop
3cdf7ba
9c89132
# man-page for /usr/bin/cdtdebug
9c89132
Source4: cdtdebug.man
9c89132
Andrew Overholt 63a3c72
# Script to run the tests in Xvnc
Andrew Overholt 63a3c72
Source5: %{name}-runtests.sh
Andrew Overholt 63a3c72
61ead79
# Following adds current directory to autotools tests build.properties
5602684
Patch1: %{name}-autotools-test.patch
11adddc
48ea26a
# Following fixes cdtdebug.sh script to get proper platform filesystem plugin
5602684
Patch2: %{pkg_name}-cdtdebug.patch
48ea26a
48ea26a
# Following fixes Standalone Debugger config.ini file to use bundle symbolic names
5602684
Patch3: %{pkg_name}-config-ini.patch
48ea26a
48ea26a
# Following fixes Standalone Debugger README file to refer to /usr/bin/cdtdebug
5602684
Patch4: %{pkg_name}-cdtdebug-readme.patch
48ea26a
e2f9335
# Following removes docker launcher plugins from repo
80c7c5f
Patch6: remove-docker.patch
9ee9d1b
7a6cdf8
# Following removes autotools and remote plugins from repo
7a6cdf8
Patch7: remove-remote.patch
7a6cdf8
1acbc6e
# Following fixes missing exit code in console bug
6234116
Patch8: %{pkg_name}-exit-code.patch
1acbc6e
d1ad940
BuildRequires: tycho
d1ad940
BuildRequires: tycho-extras
11adddc
BuildRequires: %{?scl_prefix}eclipse-pde >= 1:4.3.0
11adddc
BuildRequires: eclipse-license
3cdf7ba
BuildRequires: desktop-file-utils
48ea26a
BuildRequires: %{?scl_prefix}lpg-java-compat
6234116
BuildRequires: google-gson
11adddc
BuildRequires: %{?scl_prefix}eclipse-platform >= 1:4.3.0
11adddc
BuildRequires: %{?scl_prefix}eclipse-tests >= 1:4.3.0
e2e90d4
BuildRequires: %{?scl_prefix}eclipse-swtbot
80c7c5f
BuildRequires: eclipse-launchbar
a0c5506
BuildRequires: exec-maven-plugin
7a6cdf8
%if %{_enable_container_and_remote_support}
068a58a
# Docker not available on F22 or earlier
068a58a
%if 0%{?fedora} >= 23
e2f9335
BuildRequires: eclipse-linuxtools-docker
068a58a
%endif
068a58a
BuildRequires: eclipse-remote >= 2.0.0-1
068a58a
BuildRequires: eclipse-rse
e2f9335
%endif
Ben Konrath 53357d2
7a6cdf8
Requires:      gdb make gcc-c++
7a6cdf8
%if %{_enable_container_and_remote_support}
7a6cdf8
Requires:      autoconf automake libtool
068a58a
Requires:      eclipse-remote >= 2.0.0-1
7a6cdf8
%endif
5602684
Recommends:    eclipse-linuxtools-libhover
Ben Konrath 53357d2
Andrew Overholt 9fa799a
%description
Andrew Overholt 9fa799a
Eclipse features and plugins that are useful for C and C++ development.
Andrew Overholt 9fa799a
488dcb6
%package parsers
51a0b5c
Summary:        Eclipse C/C++ Development Tools (CDT) Optional Parsers
488dcb6
Requires:       %{name} = %{epoch}:%{version}-%{release}
488dcb6
Requires:       lpg-java-compat
488dcb6
488dcb6
%description parsers
488dcb6
Optional language-variant parsers for the CDT.
488dcb6
a0c5506
%package llvm
a0c5506
Summary:        Eclipse C/C++ Development Tools (CDT) LLVM
a0c5506
Requires:       %{name} = %{epoch}:%{version}-%{release}
a0c5506
Requires:       lpg-java-compat
554e943
Requires:       clang
a0c5506
a0c5506
%description llvm
a0c5506
Optional llvm parsers for the CDT.
a0c5506
6234116
%if %{_enable_container_and_remote_support} == 1
6234116
80c7c5f
%package arduino
80c7c5f
Summary:        Arduino C++ Tools
80c7c5f
Requires:       %{name} = %{epoch}:%{version}-%{release}
80c7c5f
80c7c5f
%description arduino
80c7c5f
Extensions to support Arduino C++ projects in Eclipse.
80c7c5f
068a58a
# Docker not available on F22 or earlier
068a58a
%if 0%{?fedora} >= 23
068a58a
2085209
%package docker
2085209
Summary:	C/C++ Docker Launcher
2085209
Requires:      %{name} = %{epoch}:%{version}-%{release}
2085209
Requires:	eclipse-linuxtools-docker
2085209
2085209
%description docker
2085209
Special launcher for CDT to allow launching and debugging C/C++ applications
2085209
in Docker Containers.
2085209
2085209
%endif
2085209
068a58a
%endif
068a58a
bb1af13
%package qt
bb1af13
Summary:        QT C++ Tools
bb1af13
Requires:       %{name} = %{epoch}:%{version}-%{release}
bb1af13
#for qmake
bb1af13
Requires:       qt5-qtbase-devel
bb1af13
#for new qt project to work out of the box
bb1af13
Requires:       pkgconfig(Qt5Qml)
bb1af13
Requires:       pkgconfig(Qt5Quick) 
bb1af13
bb1af13
%description qt
bb1af13
Extensions to support Qt projects and objects in the indexer.
bb1af13
61ead79
%package tests
61ead79
Summary:	Eclipse C/C++ Development Tools (CDT) Tests
61ead79
Requires:       %{name} = %{epoch}:%{version}-%{release}
61ead79
Requires:       %{name}-llvm = %{epoch}:%{version}-%{release}
61ead79
Requires:       %{name}-parsers = %{epoch}:%{version}-%{release}
11adddc
Requires:       %{?scl_prefix}eclipse-tests
61ead79
61ead79
%description tests
61ead79
Test plugins for the CDT.
61ead79
Andrew Overholt 9fa799a
%package sdk
Andrew Overholt 9fa799a
Summary:        Eclipse C/C++ Development Tools (CDT) SDK plugin
Andrew Overholt 9fa799a
Requires:       %{name} = %{epoch}:%{version}-%{release}
cvsdist 977444b
47cfb8d
%description sdk
a90b04c
Source for Eclipse CDT for use within Eclipse.
47cfb8d
cvsdist 977444b
%prep
d10d585
%setup -q -n %{cdt_snapshot}
Andrew Overholt 9fa799a
3cdf7ba
# get desktop info
3cdf7ba
mkdir desktop
3cdf7ba
cp %{SOURCE3} desktop
3cdf7ba
9c89132
# handle man page
9c89132
mkdir man
9c89132
cp %{SOURCE4} man
9c89132
5602684
%patch1 -p1
5602684
%patch2 -p1
532f377
%patch3 -p1
67bf962
%patch4 -p1
7a6cdf8
%if %{_enable_container_and_remote_support} == 0
7a6cdf8
%patch6 -p0
7a6cdf8
%patch7 -p0
068a58a
%else
068a58a
# Docker not available on F22 or earlier
068a58a
%if 0%{?fedora} < 23
068a58a
%patch6 -p0
068a58a
%endif
e2f9335
%endif
6234116
%patch8 -p1
6234116
6234116
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
6234116
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV"
6234116
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" core/org.eclipse.cdt.core.linux
e2f9335
3f44445
# Add secondary arch support if we are building there
dcca094
%ifarch %{arm} s390 s390x aarch64
3338275
pushd core
f8d9c04
pushd org.eclipse.cdt.core.native
16fbac1
sed -i -e 's/linux.x86 /linux.%{eclipse_arch} /g' plugin.properties
f8d9c04
sed -i -e 's/\\(x86\\)/(%{eclipse_arch})/g' plugin.properties
16fbac1
popd
3f44445
cp -r org.eclipse.cdt.core.linux.x86 org.eclipse.cdt.core.linux.%{eclipse_arch}
dc48325
rm -fr org.eclipse.cdt.core.linux.x86
3f44445
pushd org.eclipse.cdt.core.linux.%{eclipse_arch}
3f44445
sed -i -e 's/x86/%{eclipse_arch}/g' pom.xml
3338275
pushd META-INF
3f44445
sed -i -e 's/x86/%{eclipse_arch}/g' MANIFEST.MF
3338275
popd
3338275
pushd os/linux
3f44445
mv x86 %{eclipse_arch}
3338275
popd
3338275
popd
3338275
popd
f8d9c04
pushd releng/org.eclipse.cdt.native-feature
3f44445
sed -i -e 's/"org.eclipse.cdt.core.linux.x86"/"org.eclipse.cdt.core.linux.%{eclipse_arch}"/g' feature.xml
3f44445
sed -i -e 's/arch="x86"/arch="%{eclipse_arch}"/' feature.xml
0cc61d7
popd
6b9c358
sed -i -e "s|org.eclipse.cdt.core.linux.x86</module>|org.eclipse.cdt.core.linux.%{eclipse_arch}</module>|g" pom.xml
3338275
%endif
356a0e7
# Force the linux arch-specific plug-in to be a dir so that the .so files aren't loaded into
356a0e7
# the user.home .eclipse configuration
176ddf9
pushd core/org.eclipse.cdt.core.linux.%{eclipse_arch}
356a0e7
sed -i -e"/Bundle-Localization: plugin/ aEclipse-BundleShape: dir" META-INF/MANIFEST.MF
356a0e7
popd
e2e90d4
6234116
# Don't use the target configuration
6234116
%pom_disable_module releng/org.eclipse.cdt.target
6234116
%pom_xpath_remove "pom:configuration/pom:target"
6234116
e2e90d4
# Disable the jgit provider and force default packaging
e2e90d4
%pom_remove_plugin org.eclipse.tycho:tycho-packaging-plugin
d10d585
%pom_remove_plugin org.jacoco:jacoco-maven-plugin
e2e90d4
7a6cdf8
# Disable docker, autotools, and remote features if we are building a boot-strap build
7a6cdf8
%if %{_enable_container_and_remote_support} == 0
9ee9d1b
%pom_disable_module launch/org.eclipse.cdt.docker.launcher
9ee9d1b
%pom_disable_module launch/org.eclipse.cdt.docker.launcher-feature
9ee9d1b
%pom_disable_module launch/org.eclipse.cdt.docker.launcher.source-feature
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools.core
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools.ui
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools.docs
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools.tests
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools.ui.tests
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools-feature
7a6cdf8
%pom_disable_module build/org.eclipse.cdt.autotools.source-feature
7a6cdf8
%pom_disable_module build/org.eclipse.linuxtools.cdt.autotools.core
7a6cdf8
%pom_disable_module cross/org.eclipse.cdt.launch.remote
7a6cdf8
%pom_disable_module cross/org.eclipse.cdt.launch.remote-feature
7a6cdf8
%pom_disable_module remote/org.eclipse.cdt.remote.core
7a6cdf8
%pom_disable_module remote/org.eclipse.cdt.remote-feature
6234116
%pom_disable_module toolchains/arduino/org.eclipse.cdt.arduino.core
6234116
%pom_disable_module toolchains/arduino/org.eclipse.cdt.arduino.ui
6234116
%pom_disable_module toolchains/arduino/org.eclipse.cdt.arduino-feature
068a58a
%else
068a58a
# Docker not available on F22 or earlier
068a58a
%if 0%{?fedora} < 23
068a58a
%pom_disable_module launch/org.eclipse.cdt.docker.launcher
068a58a
%pom_disable_module launch/org.eclipse.cdt.docker.launcher-feature
068a58a
%pom_disable_module launch/org.eclipse.cdt.docker.launcher.source-feature
068a58a
%endif
e2f9335
%endif
9ee9d1b
0879f39
for b in `ls core/ | grep -P -e 'org.eclipse.cdt.core\.(?!linux\.%{eclipse_arch}$|tests$|linux$|native$)'` ; do
0879f39
  module=$(grep ">core/$b<" pom.xml || :)
0879f39
  if [ -n "$module" ] ; then
0879f39
    %pom_disable_module core/$b
0879f39
    %pom_xpath_remove "plugin[@id='$b']" releng/org.eclipse.cdt.native-feature/feature.xml
0879f39
  fi
0879f39
done
0879f39
for b in aix macosx solaris win32 ; do
0879f39
  %pom_xpath_remove "plugin[@id='org.eclipse.cdt.core.$b.source']" releng/org.eclipse.cdt.native.source-feature/feature.xml
0879f39
done
0879f39
9ee9d1b
sed -i -e "s|org.junit|org.hamcrest.core, org.junit|g" dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/META-INF/MANIFEST.MF
9ee9d1b
cvsdist 977444b
%build
cvsdist 977444b
export JAVA_HOME=%{java_home}
cvsdist 977444b
e50cfbe
# Exclude EquinoxResolver to avoid NPE occuring on arm
e50cfbe
%ifarch %{arm}
e50cfbe
export MAVEN_OPTS="-XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState"
e50cfbe
%endif
e50cfbe
d1ad940
pushd core/org.eclipse.cdt.core.linux/library
2777248
make JAVA_HOME="%{java_home}" ARCH=%{eclipse_arch} CC='gcc -D_GNU_SOURCE'
cvsdist 977444b
popd
cvsdist 977444b
e2e90d4
xmvn -o -Dtycho.local.keepTarget -Dskip-ppc64le -Dmaven.test.skip=true -Dmaven.repo.local=`pwd`/.m2 install
Andrew Overholt 9fa799a
cvsdist 977444b
%install
61ead79
Andrew Overholt 9fa799a
installDir=${RPM_BUILD_ROOT}/%{eclipse_base}/dropins/cdt
61ead79
testInstallDir=${RPM_BUILD_ROOT}/%{_javadir}/eclipse-cdt-tests/plugins
488dcb6
parsersInstallDir=${installDir}-parsers
7a6cdf8
%if %{_enable_container_and_remote_support} == 1
2085209
dockerInstallDir=${installDir}-docker
80c7c5f
arduinoInstallDir=${installDir}-arduino
6234116
%endif
a0c5506
llvmInstallDir=${installDir}-llvm
bb1af13
qtInstallDir=${installDir}-qt
Andrew Overholt 9fa799a
sdkInstallDir=${installDir}-sdk
48ea26a
binInstallDir=${RPM_BUILD_ROOT}/%{_bindir}
9c89132
manInstallDir=${RPM_BUILD_ROOT}/%{_mandir}/man1
Andrew Overholt 9fa799a
install -d -m755 $installDir
488dcb6
install -d -m755 $parsersInstallDir
a0c5506
install -d -m755 $llvmInstallDir
bb1af13
install -d -m755 $qtInstallDir
Andrew Overholt 9fa799a
install -d -m755 $sdkInstallDir
61ead79
install -d -m755 $testInstallDir
48ea26a
install -d -m755 $binInstallDir
9c89132
install -d -m755 $manInstallDir
7a6cdf8
%if %{_enable_container_and_remote_support} == 1
2085209
install -d -m755 $dockerInstallDir
6234116
install -d -m755 $arduinoInstallDir
2085209
%endif
5d1c762
d02848e
# Unzip contents of the cdt repo, removing all but plugins and features
d10d585
unzip -q -o releng/org.eclipse.cdt.repo/target/org.eclipse.cdt.repo.zip \
a0c5506
-d $installDir/eclipse
a0c5506
61ead79
#tests
61ead79
# We need grep to return non-zero status to skip all non eclipse-test-plugins
61ead79
set +e
61ead79
for pom in `find . -name pom.xml`; do
61ead79
 grep -q '<packaging>eclipse-test-plugin</packaging>' ${pom}
61ead79
 if [ $? -eq 0 ]; then
61ead79
   testjar=`ls ${pom/pom.xml/}'target/'*.jar | grep -v sources`
61ead79
   cp ${testjar} $testInstallDir
61ead79
 fi
61ead79
done
61ead79
set -e
61ead79
3d4ea23
cat << EOF > eclipse-runCDTTestBundles
3d4ea23
#! /bin/bash
3d4ea23
eclipse-runTestBundles %{_javadir}/eclipse-cdt-tests
3d4ea23
EOF
3d4ea23
3d4ea23
install -D -m 755 eclipse-runCDTTestBundles %{buildroot}%{_bindir}/eclipse-runCDTTestBundles
3d4ea23
48ea26a
# Unzip CDT Standalone Debug plugin which contains installation scripts for the end-user to use
48ea26a
pushd ${installDir}/eclipse/plugins
48ea26a
DEBUGAPPLICATIONVERSION=$(ls . | grep org.eclipse.cdt.debug.application_ | sed 's/org.eclipse.cdt.debug.application_//' |sed 's/.jar//')
48ea26a
unzip org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar -d ./org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION
48ea26a
# Copy the jar file inside the folder to work around issue where standalone application cannot be found without a jar file
48ea26a
mv org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/org.eclipse.cdt.debug.application.jar
48ea26a
# Fix the cdtdebug.sh script to hard-code ECLIPSE_HOME and cdt dropins directory
48ea26a
sed -i -e "s,@ECLIPSE_HOME@,%{eclipse_base}," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
48ea26a
sed -i -e "s,@CDT_DROPINS@,%{eclipse_base}/dropins/cdt/eclipse/plugins," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
48ea26a
# Fix the dropin bundles to have full paths to their respective jar files as Eclipse start-up won't find them otherwise
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.core.linux_)
48ea26a
sed -i -e "s,org.eclipse.cdt.core.linux\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.core_)
48ea26a
sed -i -e "s,org.eclipse.cdt.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.floatingpoint_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.ui.memory.floatingpoint\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.make.core_)
48ea26a
sed -i -e "s,org.eclipse.cdt.make.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.dsf.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.dsf.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.traditional_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.ui.memory.traditional\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.core_)
48ea26a
sed -i -e "s,org.eclipse.cdt.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.application_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.application\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN/org.eclipse.cdt.debug.application.jar\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.application.doc_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.application.doc\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.dsf.gdb.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.dsf.gdb.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.mi.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.mi.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.launch_)
48ea26a
sed -i -e "s,org.eclipse.cdt.launch\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.managedbuilder.core_)
48ea26a
sed -i -e "s,org.eclipse.cdt.managedbuilder.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.managedbuilder.gnu.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.managedbuilder.gnu.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.gdb_)
48ea26a
sed -i -e "s,org.eclipse.cdt.gdb\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.dsf.gdb_)
48ea26a
sed -i -e "s,org.eclipse.cdt.dsf.gdb\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.dsf_)
48ea26a
sed -i -e "s,org.eclipse.cdt.dsf\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.mi.core_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.mi.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.gdb.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.gdb.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.transport_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.ui.memory.transport\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.search_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.ui.memory.search\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.memorybrowser_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.ui.memory.memorybrowser\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep org.eclipse.cdt.debug.core_)
48ea26a
sed -i -e "s,org.eclipse.cdt.debug.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
9c89132
PLUGIN=$(ls . | grep org.eclipse.cdt.core.native_)
9c89132
sed -i -e "s,org.eclipse.cdt.core.native\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
PLUGIN=$(ls . | grep 'org.eclipse.cdt.core.linux\..*.jar' | grep -v source)
48ea26a
sed -i -e "s,\$linux.plugin\$\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
48ea26a
sed -i -e "s,cp config.ini,cp %{eclipse_base}/dropins/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
48ea26a
sed -i -e "s,cp dev.properties,cp %{eclipse_base}/dropins/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/dev.properties," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
48ea26a
cp org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
48ea26a
popd
48ea26a
1d57a3a
install -D desktop/eclipse-cdt.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/%{?scl_prefix}eclipse-cdt.desktop
1d57a3a
desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/%{?scl_prefix}eclipse-cdt.desktop
3cdf7ba
9c89132
# man page
9c89132
cp man/cdtdebug.man $manInstallDir/cdtdebug.1
9c89132
Andrew Overholt 3264309
# Unpack all existing feature jars
Andrew Overholt 11eca5f
for x in $installDir/eclipse/features/*.jar; do
Andrew Overholt 3264309
  dirname=`echo $x | sed -e 's:\\(.*\\)\\.jar:\\1:g'`
Andrew Overholt 3264309
  mkdir -p $dirname
Andrew Overholt 11eca5f
  unzip -q $x -d $dirname
Andrew Overholt 3264309
  rm $x
Andrew Overholt 3264309
done 
Andrew Overholt 9fa799a
54ea715
# Remove lpgjavaruntime jar file
54ea715
rm -rf $installDir/eclipse/plugins/net.sourceforge.*
54ea715
488dcb6
# Move upc, xlc, and lrparser plugins/features to parsers install area.
488dcb6
mkdir -p $parsersInstallDir/eclipse/features $parsersInstallDir/eclipse/plugins
488dcb6
mv $installDir/eclipse/features/*xlc* $parsersInstallDir/eclipse/features
488dcb6
mv $installDir/eclipse/plugins/*xlc* $parsersInstallDir/eclipse/plugins
488dcb6
mv $installDir/eclipse/features/*lrparser* $parsersInstallDir/eclipse/features
488dcb6
mv $installDir/eclipse/plugins/*lrparser* $parsersInstallDir/eclipse/plugins
488dcb6
mv $installDir/eclipse/features/*upc* $parsersInstallDir/eclipse/features
488dcb6
mv $installDir/eclipse/plugins/*upc* $parsersInstallDir/eclipse/plugins
bf9eb11
pushd $parsersInstallDir/eclipse/plugins
11adddc
ln -s /usr/share/java/lpgjavaruntime.jar net.sourceforge.lpg.lpgjavaruntime_1.1.0.jar
bf9eb11
popd
488dcb6
a0c5506
# Move llvm plugins/features to llvm install area.
a0c5506
mkdir -p $llvmInstallDir/eclipse/features $llvmInstallDir/eclipse/plugins
a0c5506
mv $installDir/eclipse/features/*llvm* $llvmInstallDir/eclipse/features
a0c5506
mv $installDir/eclipse/plugins/*llvm* $llvmInstallDir/eclipse/plugins
a0c5506
bb1af13
# Move qt plugins/features to qt install area.
bb1af13
mkdir -p $qtInstallDir/eclipse/features $qtInstallDir/eclipse/plugins
bb1af13
mv $installDir/eclipse/features/*qt* $qtInstallDir/eclipse/features
bb1af13
mv $installDir/eclipse/plugins/*qt.* $qtInstallDir/eclipse/plugins
bb1af13
6234116
%if %{_enable_container_and_remote_support} == 1
6234116
# Move arudino plugins/features to arduino install area.
80c7c5f
mkdir -p $arduinoInstallDir/eclipse/features $arduinoInstallDir/eclipse/plugins
80c7c5f
mv $installDir/eclipse/features/*arduino* $arduinoInstallDir/eclipse/features
80c7c5f
mv $installDir/eclipse/plugins/*arduino* $arduinoInstallDir/eclipse/plugins
80c7c5f
068a58a
# Docker not available on F22 or earlier
068a58a
%if 0%{?fedora} >= 23
2085209
# Move docker launcher plugins/features to docker install area.
2085209
mkdir -p $dockerInstallDir/eclipse/features $dockerInstallDir/eclipse/plugins
2085209
mv $installDir/eclipse/features/*docker* $dockerInstallDir/eclipse/features
2085209
mv $installDir/eclipse/plugins/*docker* $dockerInstallDir/eclipse/plugins
2085209
%endif
068a58a
%endif
2085209
Andrew Overholt 11eca5f
mkdir -p $sdkInstallDir/eclipse/features $sdkInstallDir/eclipse/plugins
Andrew Overholt 11eca5f
mv $installDir/eclipse/features/*source* $sdkInstallDir/eclipse/features
Andrew Overholt 11eca5f
mv $installDir/eclipse/plugins/*source* $sdkInstallDir/eclipse/plugins
Andrew Overholt 11eca5f
mv $installDir/eclipse/plugins/org.eclipse.cdt.doc.isv_* $sdkInstallDir/eclipse/plugins
Andrew Overholt 11eca5f
mv $installDir/eclipse/features/*sdk* $sdkInstallDir/eclipse/features
Andrew Overholt 11eca5f
mv $installDir/eclipse/plugins/*sdk* $sdkInstallDir/eclipse/plugins
e9a6271
Andrew Overholt 11eca5f
rm -rf $installDir/eclipse/features/org.eclipse.cdt.master_*
Andrew Overholt 11eca5f
rm -rf $installDir/eclipse/plugins/org.eclipse.ant.optional.junit_*
Andrew Overholt 63a3c72
rm -rf $installDir/eclipse/plugins/org.eclipse.test_*
Andrew Overholt 11eca5f
8bba077
# remove repo stuff that shouldn't be in dropins folder
8bba077
rm -rf $installDir/eclipse/artifacts.jar
8bba077
rm -rf $installDir/eclipse/content.jar
8bba077
rm -rf $installDir/eclipse/binary
8bba077
cvsdist 977444b
%files
Andrew Overholt 9fa799a
%{eclipse_base}/dropins/cdt
48ea26a
%{_bindir}/cdtdebug
1d57a3a
%{_datadir}/applications/*
9c89132
%{_mandir}/man1/cdtdebug.1*
d10d585
%doc releng/org.eclipse.cdt.releng/epl-v10.html
d10d585
%doc releng/org.eclipse.cdt.releng/notice.html
47cfb8d
47cfb8d
%files sdk
Andrew Overholt 9fa799a
%{eclipse_base}/dropins/cdt-sdk
d10d585
%doc releng/org.eclipse.cdt.releng/epl-v10.html
d10d585
%doc releng/org.eclipse.cdt.releng/notice.html
Andrew Overholt 9fa799a
488dcb6
%files parsers
488dcb6
%{eclipse_base}/dropins/cdt-parsers
d10d585
%doc releng/org.eclipse.cdt.releng/epl-v10.html
d10d585
%doc releng/org.eclipse.cdt.releng/notice.html
488dcb6
61ead79
%files tests
61ead79
%{_javadir}/eclipse-cdt-tests
3d4ea23
%{_bindir}/eclipse-runCDTTestBundles
d10d585
%doc releng/org.eclipse.cdt.releng/epl-v10.html
d10d585
%doc releng/org.eclipse.cdt.releng/notice.html
61ead79
a0c5506
%files llvm
a0c5506
%{eclipse_base}/dropins/cdt-llvm
d10d585
%doc releng/org.eclipse.cdt.releng/epl-v10.html
d10d585
%doc releng/org.eclipse.cdt.releng/notice.html
a0c5506
bb1af13
%files qt
bb1af13
%{eclipse_base}/dropins/cdt-qt
bb1af13
%doc releng/org.eclipse.cdt.releng/epl-v10.html
bb1af13
%doc releng/org.eclipse.cdt.releng/notice.html
bb1af13
6234116
%if %{_enable_container_and_remote_support} == 1
80c7c5f
%files arduino
80c7c5f
%{eclipse_base}/dropins/cdt-arduino
d10d585
%doc releng/org.eclipse.cdt.releng/epl-v10.html
d10d585
%doc releng/org.eclipse.cdt.releng/notice.html
80c7c5f
068a58a
# Docker not available on F22 or earlier
068a58a
%if 0%{?fedora} >= 23
2085209
%files docker
2085209
%{eclipse_base}/dropins/cdt-docker
2085209
%doc releng/org.eclipse.cdt.releng/epl-v10.html
2085209
%doc releng/org.eclipse.cdt.releng/notice.html
2085209
%endif
068a58a
%endif
2085209
cvsdist 977444b
%changelog
068a58a
* Thu Oct 08 2015 Mat Booth <mat.booth@redhat.com> - 1:8.8.0-3
068a58a
- Perform full build
068a58a
- Exclude docker plugins on Fedora < 23
068a58a
bb1af13
* Thu Oct 8 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.8.0-2
bb1af13
- Split qt feature into subpackage with proper deps to qml, qtquick, qmake so generated project works.
bb1af13
- Disable brp-repack script as it just slows down the build.
bb1af13
6234116
* Wed Oct 07 2015 Mat Booth <mat.booth@redhat.com> - 1:8.8.0-1
6234116
- Update to Mars.1 release
6234116
- Bootstrap mode for secondary arches
6234116
1acbc6e
* Mon Sep 21 2015 Jeff Johnston <jjohnstn@redhat.com> - 1:8.7.0-10
1acbc6e
- Fix missing test resources
1acbc6e
- Fix missing exit code in console
1acbc6e
3d4ea23
* Tue Aug 04 2015 Roland Grunberg <rgrunber@redhat.com> - 1:8.7.0-9
3d4ea23
- Add script for automatically launching CDT Test Bundles.
3d4ea23
d9dd308
* Fri Jul 10 2015 Mat Booth <mat.booth@redhat.com> - 1:8.7.0-8
d9dd308
- No longer R/BR nekohtml
d9dd308
7a6cdf8
* Tue Jul 07 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-7
7a6cdf8
- Change macro controlling docker support to also control remote support
7a6cdf8
- Disable autotools and remote plug-ins/features if macro is 0
7a6cdf8
- This allows boot-strapping CDT for use by eclipse-remote and
7a6cdf8
  eclipse-linuxtools-docker packages
7a6cdf8
 
e8d9c63
* Thu Jul 02 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-6
e8d9c63
- Add missing src file test resources referred to by test cases.
e8d9c63
13e9847
* Mon Jun 29 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-5
13e9847
- Fix for bug 1235942.
13e9847
- Fix up some dependencies in the config.ini file that have changed their
13e9847
  OSGI reference in rawhide.
13e9847
532f377
* Fri Jun 26 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-4
532f377
- Fix for bug 1235942.
532f377
- Add back patch3 which is needed to set up the config.ini file properly.
532f377
- Also add some new dependencies to the config.ini file that were added
532f377
  as part of CDT 8.7.
532f377
2085209
* Fri Jun 26 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-3
2085209
- Fix for bug 1235945.
2085209
- Move Docker launcher plug-ins to own package: eclipse-cdt-docker.
2085209
f3fc0bb
* Thu Jun 25 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-2
f3fc0bb
- Use simpler macro to control container support and fix macro tests.
f3fc0bb
e2f9335
* Tue Jun 23 2015 Jeff Johnston <jjohnstn@redhat.com> 1:8.7.0-1
e2f9335
- Switch to use CDT_8_7 tag.
e2f9335
- Add with conditional to remove container support or add it in.
e2f9335
0879f39
* Mon Jun 15 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.7.0-0.6.gitd13a53c
0879f39
- Fix build with Tycho 0.23.
0879f39
- Update to newer snapshot.
0879f39
- Drop rse R as it's autogen.
0879f39
d10d585
* Thu Jun 4 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.7.0-0.5.git6c36f7f
d10d585
- Disable jacoco plugin and remove useless directory from the build.
d10d585
80c7c5f
* Thu Jun 4 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.7.0-0.4.git6c36f7f
80c7c5f
- Add arduino subpackage and enable building arduino plugins.
80c7c5f
5602684
* Wed Jun 3 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.7.0-0.3.git6c36f7f
5602684
- Drop Linux Tools libhover compilation and Recommend eclipse-linuxtools-libhover instead. 
5602684
496b7b6
* Wed Jun 3 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.7.0-0.2.git6c36f7f
496b7b6
- Newer snapshot.
496b7b6
- Enable remote feature now that deps are available.
496b7b6
- Drop Group tags.
496b7b6
9ee9d1b
* Mon Jun 1 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.7.0-0.1.git136c034
9ee9d1b
- Update to 8.7.0 pre-release.