# Turn off the brp-python-bytecompile script %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') %global __jar_repack %{nil} %global release_version 5_1_2 %if 0%{?fedora} >= 24 %global droplets droplets %else %global droplets dropins %endif Epoch: 1 Summary: Eclipse Python development plug-in Name: eclipse-pydev Version: 5.1.2 Release: 1%{?dist} License: EPL URL: http://pydev.org Source0: https://github.com/fabioz/Pydev/archive/pydev_%{release_version}.tar.gz # Remove windows specific code that manipulates the windows registry Patch0: remove-winregistry.patch Patch1: remove-iInfo-error.patch # Allow system jython interpreter to be configured in preferences Patch2: system-jython-interpreter.patch # Fix native name Patch3: native-name.patch # Fix for failing to kill django processes Patch4: fix-process-killing.patch # Fix valid encoding detection failure Patch5: encoding-tolerance.patch Requires: eclipse-platform Requires: python3 Requires: apache-commons-logging Requires: snakeyaml Requires: ws-commons-util Requires: xmlrpc-common Requires: xmlrpc-client Requires: xmlrpc-server Requires: jython >= 2.7.1 Requires: antlr32-java >= 3.2-12 Requires: python3-autopep8 Requires: python3-pep8 Requires: python3-pylint Requires: python3-django Requires: python3-ipython-console BuildRequires: tycho BuildRequires: tycho-extras BuildRequires: eclipse-mylyn >= 3.16.0 BuildRequires: eclipse-p2-discovery BuildRequires: apache-commons-logging BuildRequires: snakeyaml BuildRequires: ws-commons-util BuildRequires: xmlrpc-common BuildRequires: xmlrpc-client BuildRequires: xmlrpc-server BuildRequires: jython >= 2.7.1 BuildRequires: lucene BuildRequires: lucene-analysis # Required for symlinking into the plugin BuildRequires: python3-autopep8 BuildRequires: python3-pep8 BuildRequires: python3-rpm-macros %description The eclipse-pydev package contains Eclipse plugins for Python development. %package mylyn Summary: Pydev Mylyn Focused UI Requires: %{name} = %{epoch}:%{version}-%{release} %description mylyn Mylyn Task-Focused UI extensions for Pydev. %prep %setup -q -n Pydev-pydev_%{release_version} %patch0 %patch1 -p1 %patch2 -p1 %patch3 %patch4 -p1 %patch5 -p1 %mvn_package "::pom:" __noinstall %mvn_package ":*.mylyn" mylyn %mvn_package ":*.mylyn.*" mylyn %mvn_package ":*" core # Remove bundled ctypes (used only under cygwin) rm -r plugins/org.python.pydev/pysrc/third_party/wrapped_for_pydev # Remove bundled pep8 and lib2to3 rm -r plugins/org.python.pydev/pysrc/third_party/pep8/* # Symlink to system versions (cd plugins/org.python.pydev/pysrc/third_party/pep8/ && ln -s %{python3_sitelib}/autopep8.py) (cd plugins/org.python.pydev/pysrc/third_party/pep8/ && ln -s %{python3_sitelib}/pep8.py) # Remove pre-built artifacts find -name '*.class' -delete find -name '*.jar' -delete find -name '*.dll' -delete find -name '*.dylib' -delete find -name '*.so' -delete rm -rf plugins/org.python.pydev.jython/Lib # Link to system jython # we must include all of jython's runtime dependencies on the classpath pushd plugins/org.python.pydev.jython build-jar-repository -s -p . \ jython/jython guava jnr-constants jnr-ffi jnr-netdb jnr-posix jffi jline/jline jansi/jansi antlr32/antlr-runtime-3.2 \ objectweb-asm/asm objectweb-asm/asm-commons objectweb-asm/asm-util commons-compress icu4j \ netty/netty-buffer netty/netty-codec netty/netty-common netty/netty-handler netty/netty-transport for j in $(ls *.jar) ; do if [ -z "$js" ] ; then js="$j"; else js="${js},$j"; fi done sed -i -e 's/\r//' -e "s/^ jython\.jar/ $js/" META-INF/MANIFEST.MF sed -i -e "s/ jython\.jar/ $js/" build.properties popd # Symlink to jython standard library ln -sf %{_datadir}/jython/Lib \ plugins/org.python.pydev.jython/Lib # Symlinks to other system jars ln -sf $(build-classpath commons-logging) \ plugins/org.python.pydev.shared_interactive_console/commons-logging-1.1.1.jar ln -sf $(build-classpath ws-commons-util) \ plugins/org.python.pydev.shared_interactive_console/ws-commons-util-1.0.2.jar ln -sf $(build-classpath xmlrpc-client) \ plugins/org.python.pydev.shared_interactive_console/xmlrpc-client-3.1.3.jar ln -sf $(build-classpath xmlrpc-common) \ plugins/org.python.pydev.shared_interactive_console/xmlrpc-common-3.1.3.jar ln -sf $(build-classpath xmlrpc-server) \ plugins/org.python.pydev.shared_interactive_console/xmlrpc-server-3.1.3.jar ln -sf $(build-classpath snakeyaml) \ plugins/org.python.pydev.shared_core/libs/snakeyaml-1.11.jar ln -sf $(build-classpath lucene/lucene-core) \ plugins/org.python.pydev.shared_core/libs/lucene-core-5.2.1.jar ln -sf $(build-classpath lucene/lucene-analyzers-common) \ plugins/org.python.pydev.shared_core/libs/lucene-analyzers-common-5.2.1.jar # Fix encodings iconv -f CP1252 -t UTF-8 LICENSE.txt > LICENSE.txt.utf mv LICENSE.txt.utf LICENSE.txt %build # build native part first pushd plugins/org.python.pydev/pysrc/pydevd_attach_to_process/linux &>/dev/null g++ %{optflags} -shared -o attach_linux.so -fPIC -nostartfiles attach_linux.c mv attach_linux.so ../attach_linux.so popd &>/dev/null # build everything else %mvn_build -j -f -- -DforceContextQualifier=$(date +%Y%m%d%H00) %install %mvn_install # fix perms on native lib find ${RPM_BUILD_ROOT} -name attach_linux.so -exec chmod +x {} \; # Have to re-symlink embedded system jars installDir=${RPM_BUILD_ROOT}/%{_libdir}/eclipse/%{droplets}/pydev-core pushd $installDir/eclipse/plugins for f in commons-logging \ ws-commons-util \ xmlrpc-client \ xmlrpc-common \ xmlrpc-server \ snakeyaml \ lucene/lucene-core \ lucene/lucene-analyzers-common ; do file=$(find . -name $(basename $f)*.jar) rm $file ln -sf $(build-classpath $f) $file done popd # Symlink system jython and libs pushd $installDir/eclipse/plugins/org.python.pydev.jython_* rm -rf Lib ln -sf %{_datadir}/jython/Lib build-jar-repository -s -p . \ jython/jython guava jnr-constants jnr-ffi jnr-netdb jnr-posix jffi jline/jline jansi/jansi antlr32/antlr-runtime-3.2 \ objectweb-asm/asm objectweb-asm/asm-commons objectweb-asm/asm-util commons-compress icu4j \ netty/netty-buffer netty/netty-codec netty/netty-common netty/netty-handler netty/netty-transport popd # Symlink system pep8 pushd $installDir/eclipse/plugins/org.python.pydev_* rm pysrc/third_party/pep8/*.py (cd pysrc/third_party/pep8/ && ln -s %{python3_sitelib}/autopep8.py) (cd pysrc/third_party/pep8/ && ln -s %{python3_sitelib}/pep8.py) popd # convert .py$ files from mode 0644 to mode 0755 sixFourFourfiles=$(find ${RPM_BUILD_ROOT} -name '*\.py' -perm 0644 | xargs) if [ ${sixFourFourfiles:-0} -ne 0 ]; then chmod 0755 ${sixFourFourfiles} fi %files -f .mfiles-core %license LICENSE.txt %doc README.txt %files mylyn -f .mfiles-mylyn %license LICENSE.txt %changelog * Fri Jun 24 2016 Mat Booth - 1:5.1.2-1 - Update to release 5.1.2 - Remove bundled third-party libs rhbz#1339362 - Fix valid encoding detection failure rhbz#1327642 - Improve system jython integration - Make symlinking jars more portable * Fri Jun 17 2016 Alexander Kurtakov 1:5.1.1-1 - Update to upstream 5.1.1. * Wed May 18 2016 Sopot Cela 1:5.0.0-1 - Update to upstream 5.0.0 * Wed May 04 2016 Sopot Cela 1:4.6.0-1 - Update to upstream 4.6.0 * Mon Apr 25 2016 Sopot Cela 1:4.5.5-3 - Patch so it builds with Neon * Wed Apr 6 2016 Alexander Kurtakov 1:4.5.5-2 - Switch python* requires to python3. * Fri Mar 25 2016 Alexander Kurtakov 1:4.5.5-1 - Update to upstream 4.5.5. * Thu Feb 04 2016 Sopot Cela 1:4.5.4-0.2.git3694021 - Minor changelog correction * Thu Feb 04 2016 Sopot Cela 1:4.5.4-0.1 - Upgrade to upstream 4.5.4 * Wed Feb 03 2016 Fedora Release Engineering - 1:4.5.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Jan 22 2016 Alexander Kurtakov 1:4.5.3-1 - Update to upstream 4.5.3. * Tue Jan 19 2016 Alexander Kurtakov 1:4.5.1-1 - Update to upstream 4.5.1. * Sun Nov 29 2015 Mat Booth - 1:4.4.0-3 - Rebuild to fix broken antlr symlink * Wed Oct 21 2015 Mat Booth - 1:4.4.0-2 - Fix for failing to kill django processes - rhbz#1264446 * Thu Oct 8 2015 Alexander Kurtakov 1:4.4.0-1 - Update to upstream 4.4.0. - Disable brp-repack. * Mon Sep 14 2015 Roland Grunberg - 1:4.3.0-3 - Rebuild as an Eclipse p2 Droplet. * Mon Aug 31 2015 Roland Grunberg - 1:4.3.0-2 - Minor change to build as a droplet. * Fri Aug 21 2015 akurtakov 1:4.3.0-1 - Update to upstream 4.3.0. - Simplify BR/R to adapt new names and remove autogenerated ones now. * Wed Aug 12 2015 Mat Booth - 1:4.2.0-3 - Add all necessary symlinks for jython * Mon Jul 20 2015 Mat Booth - 1:4.2.0-2 - Fix perms on native lib to fix binary stripping - Generate debuginfo * Thu Jul 16 2015 Sopot Cela - 1:4.2.0-1 - Update to 4.2.0 release * Wed Jun 17 2015 Fedora Release Engineering - 1:4.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed May 27 2015 Alexander Kurtakov 1:4.1.0-1 - Update to upstream 4.1.0 release. * Wed May 13 2015 Alexander Kurtakov 1:4.0.0-2 - Make mylyn subpackage archful as timestamps make diff and fail builds. * Wed Apr 15 2015 Mat Booth - 1:4.0.0-1 - Update to latest upstream release - No longer necessary to symlink optparse - Now archful package due to having a native component * Mon Dec 8 2014 Alexander Kurtakov 1:3.7.1-2 - Build with xmvn. * Thu Sep 18 2014 Alexander Kurtakov 1:3.7.1-1 - Update to upstream 3.7.1. * Thu Jul 31 2014 Mat Booth - 1:3.6.0-1 - Update to latest upstream release - Require jython 2.7 - Remove no longer needed patches * Sat Jun 07 2014 Fedora Release Engineering - 1:3.5.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Jun 04 2014 Mat Booth - 1:3.5.0-3 - Patch to allow system jython interpreter to be configured in preferences * Mon Jun 02 2014 Mat Booth - 1:3.5.0-2 - Patch to build with latest version of jython - Install license files - No longer need to package a portion of jython's lib dir * Thu May 29 2014 Alexander Kurtakov 1:3.5.0-1 - Update to 3.5.0. * Thu Mar 20 2014 Alexander Kurtakov 1:3.4.1-1 - Update to 3.4.1. * Wed Feb 12 2014 Alexander Kurtakov 1:3.3.3-1 - Update to 3.3.3. * Mon Dec 30 2013 Alexander Kurtakov 1:3.2.0-1 - Update to 3.2.0. * Fri Dec 13 2013 Alexander Kurtakov 1:3.1.0-1 - Update to 3.1.0. * Mon Nov 11 2013 Alexander Kurtakov 1:3.0-1 - Update to 3.0. - Drop old changelog now that we move to tycho builds.