diff mbox series

[1/3] Travis-CI: upgrade PyPy to 6.0

Message ID 20190120191933.21343-1-nicolas.iooss@m4x.org (mailing list archive)
State Accepted
Headers show
Series [1/3] Travis-CI: upgrade PyPy to 6.0 | expand

Commit Message

Nicolas Iooss Jan. 20, 2019, 7:19 p.m. UTC
PyPy 6.0 was released in April 2018 but became available on Travis-CI
only recently. Now that it is available, use it.

While at it, compile Python modules with libpypy-c.so, now that PyPy
provides this library. This would enable linking Python modules with
-Wl,-no-undefined (or -Wl,-z,defs) and help fixing issues with
https://github.com/SELinuxProject/selinux/pull/130.

Tracking issues:
* https://github.com/travis-ci/travis-ci/issues/9542
* https://travis-ci.community/t/pypy-2-7-on-xenial/889

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
 .travis.yml | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Petr Lautrbach Jan. 21, 2019, 1:25 p.m. UTC | #1
Nicolas Iooss <nicolas.iooss@m4x.org> writes:

> PyPy 6.0 was released in April 2018 but became available on 
> Travis-CI
> only recently. Now that it is available, use it.
>
> While at it, compile Python modules with libpypy-c.so, now that 
> PyPy
> provides this library. This would enable linking Python modules 
> with
> -Wl,-no-undefined (or -Wl,-z,defs) and help fixing issues with
> https://github.com/SELinuxProject/selinux/pull/130.
>
> Tracking issues:
> * https://github.com/travis-ci/travis-ci/issues/9542
> * https://travis-ci.community/t/pypy-2-7-on-xenial/889
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>

Thanks!

Acked-by: Petr Lautrbach <plautrba@redhat.com>

https://github.com/SELinuxProject/selinux/pull/132


> ---
>  .travis.yml | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index 08a29b2f5adc..b8e97f83bbcd 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -20,10 +20,8 @@ env:
>      - PYVER=python2.7 RUBYLIBVER=2.5.1
>      - PYVER=python3.5 RUBYLIBVER=2.5.1
>      - PYVER=python3.6 RUBYLIBVER=2.5.1
> -    # pypy2.7 seems not to be available in Travis-CI Xenial 
> template yet.
> -    # https://github.com/travis-ci/travis-ci/issues/9542
> -    #- PYVER=pypy RUBYLIBVER=2.5.1
> -    - PYVER=pypy3.5 RUBYLIBVER=2.5.1
> +    - PYVER=pypy2.7-6.0 RUBYLIBVER=2.5.1
> +    - PYVER=pypy3.5-6.0 RUBYLIBVER=2.5.1
>  
>      # Test several Ruby versions
>      - PYVER=python3.7 RUBYLIBVER=2.4
> @@ -98,8 +96,12 @@ before_script:
>    - export PYTHON="$VIRTUAL_ENV/bin/python"
>    # Use the header files in /opt/python/... for Python because 
>    the virtualenvs do not provide Python.h
>    - export PKG_CONFIG_PATH="/opt/python/$($PYTHON -c 'import 
>    sys;print("%d.%d.%d" % sys.version_info[:3])')/lib/pkgconfig"
> -  # PyPy does not provide a config file for pkg-config nor a 
> pypy-c.so
> -  - if echo "$PYVER" | grep -q pypy ; then export 
> PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include 
> PYLIBS= ; fi
> +  # PyPy does not provide a config file for pkg-config
> +  # libpypy-c.so is provided in bin/libpypy-c.so for PyPy and 
> bin/libpypy3-c.so for PyPy3
> +  - if echo "$PYVER" | grep -q pypy ; then
> +        export PYINC=-I$($PYTHON -c 'import 
> sys;print(sys.prefix)')/include ;
> +        export PYLIBS="$($PYTHON -c 'import sys;print("-L%s/bin 
> -l%s" % (sys.prefix, "pypy-c" if sys.version_info < (3,) else 
> "pypy3-c"))')" ;
> +    fi
>  
>    # Find the Ruby executable with version $RUBYLIBVER
>    - rvm reinstall ruby-$RUBYLIBVER --binary
Petr Lautrbach Jan. 24, 2019, 10:46 a.m. UTC | #2
Petr Lautrbach <plautrba@redhat.com> writes:

> Nicolas Iooss <nicolas.iooss@m4x.org> writes:
>
>> PyPy 6.0 was released in April 2018 but became available on Travis-CI
>> only recently. Now that it is available, use it.
>>
>> While at it, compile Python modules with libpypy-c.so, now that PyPy
>> provides this library. This would enable linking Python modules with
>> -Wl,-no-undefined (or -Wl,-z,defs) and help fixing issues with
>> https://github.com/SELinuxProject/selinux/pull/130.
>>
>> Tracking issues:
>> * https://github.com/travis-ci/travis-ci/issues/9542
>> * https://travis-ci.community/t/pypy-2-7-on-xenial/889
>>
>> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
>
> Thanks!
>
> Acked-by: Petr Lautrbach <plautrba@redhat.com>
>
> https://github.com/SELinuxProject/selinux/pull/132
>

It's merged now.

>
>> ---
>>  .travis.yml | 14 ++++++++------
>>  1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index 08a29b2f5adc..b8e97f83bbcd 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -20,10 +20,8 @@ env:
>>      - PYVER=python2.7 RUBYLIBVER=2.5.1
>>      - PYVER=python3.5 RUBYLIBVER=2.5.1
>>      - PYVER=python3.6 RUBYLIBVER=2.5.1
>> -    # pypy2.7 seems not to be available in Travis-CI Xenial template yet.
>> -    # https://github.com/travis-ci/travis-ci/issues/9542
>> -    #- PYVER=pypy RUBYLIBVER=2.5.1
>> -    - PYVER=pypy3.5 RUBYLIBVER=2.5.1
>> +    - PYVER=pypy2.7-6.0 RUBYLIBVER=2.5.1
>> +    - PYVER=pypy3.5-6.0 RUBYLIBVER=2.5.1
>>       # Test several Ruby versions
>>      - PYVER=python3.7 RUBYLIBVER=2.4
>> @@ -98,8 +96,12 @@ before_script:
>>    - export PYTHON="$VIRTUAL_ENV/bin/python"
>>    # Use the header files in /opt/python/... for Python because    the
>> virtualenvs do not provide Python.h
>>    - export PKG_CONFIG_PATH="/opt/python/$($PYTHON -c 'import
>> sys;print("%d.%d.%d" % sys.version_info[:3])')/lib/pkgconfig"
>> -  # PyPy does not provide a config file for pkg-config nor a pypy-c.so
>> -  - if echo "$PYVER" | grep -q pypy ; then export PYINC=-I$($PYTHON -c
>> 'import sys;print(sys.prefix)')/include PYLIBS= ; fi
>> +  # PyPy does not provide a config file for pkg-config
>> +  # libpypy-c.so is provided in bin/libpypy-c.so for PyPy and
>> bin/libpypy3-c.so for PyPy3
>> +  - if echo "$PYVER" | grep -q pypy ; then
>> +        export PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include ;
>> +        export PYLIBS="$($PYTHON -c 'import sys;print("-L%s/bin -l%s" %
>> (sys.prefix, "pypy-c" if sys.version_info < (3,) else "pypy3-c"))')" ;
>> +    fi
>>     # Find the Ruby executable with version $RUBYLIBVER
>>    - rvm reinstall ruby-$RUBYLIBVER --binary
diff mbox series

Patch

diff --git a/.travis.yml b/.travis.yml
index 08a29b2f5adc..b8e97f83bbcd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,10 +20,8 @@  env:
     - PYVER=python2.7 RUBYLIBVER=2.5.1
     - PYVER=python3.5 RUBYLIBVER=2.5.1
     - PYVER=python3.6 RUBYLIBVER=2.5.1
-    # pypy2.7 seems not to be available in Travis-CI Xenial template yet.
-    # https://github.com/travis-ci/travis-ci/issues/9542
-    #- PYVER=pypy RUBYLIBVER=2.5.1
-    - PYVER=pypy3.5 RUBYLIBVER=2.5.1
+    - PYVER=pypy2.7-6.0 RUBYLIBVER=2.5.1
+    - PYVER=pypy3.5-6.0 RUBYLIBVER=2.5.1
 
     # Test several Ruby versions
     - PYVER=python3.7 RUBYLIBVER=2.4
@@ -98,8 +96,12 @@  before_script:
   - export PYTHON="$VIRTUAL_ENV/bin/python"
   # Use the header files in /opt/python/... for Python because the virtualenvs do not provide Python.h
   - export PKG_CONFIG_PATH="/opt/python/$($PYTHON -c 'import sys;print("%d.%d.%d" % sys.version_info[:3])')/lib/pkgconfig"
-  # PyPy does not provide a config file for pkg-config nor a pypy-c.so
-  - if echo "$PYVER" | grep -q pypy ; then export PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include PYLIBS= ; fi
+  # PyPy does not provide a config file for pkg-config
+  # libpypy-c.so is provided in bin/libpypy-c.so for PyPy and bin/libpypy3-c.so for PyPy3
+  - if echo "$PYVER" | grep -q pypy ; then
+        export PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include ;
+        export PYLIBS="$($PYTHON -c 'import sys;print("-L%s/bin -l%s" % (sys.prefix, "pypy-c" if sys.version_info < (3,) else "pypy3-c"))')" ;
+    fi
 
   # Find the Ruby executable with version $RUBYLIBVER
   - rvm reinstall ruby-$RUBYLIBVER --binary