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