Files
chromebrew/lib/buildsystems/python.rb
Satadru Pramanik, DO, MPH, MEng 2f745cc5f0 Update gtk4, libdrm, mesa, test buildsystems changes, make unit tests easier to debug (#10311)
* Update gtk4, test buildsystems changes, test unit test changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* continue testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* continue testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* try to fix unit-test

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move container unit tests to a script for easier debugging.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix paths

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use simpler unit test script for arm too.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix unit test yaml

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debugging...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debugging...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add git settings for when GitHub is down.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix Unit-Test.yml

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust Unit-Test.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more unit test adjustments

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add missing &&

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust unit tests further...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix armv7l unit test, update libdrm.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add mesa builds

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update mesa package

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debugging

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add early exit from arm unit test if no arm packages have changed.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix path and suffix removal.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add more reporting.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust escaping in grep...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust git configs for network connectivity locally only.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Make git changes local not global.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* make git changes local

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update changed-files actions

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-08-16 13:11:57 -05:00

52 lines
2.3 KiB
Ruby

require 'package'
class Python < Package
property :python_build_options, :python_install_options, :python_build_extras, :python_install_extras, :no_svem
attr_accessor :python_build_relative_dir
def initialize
super
@python_build_relative_dir = '.'
end
def self.build
# @required_pip_modules = %w[build installer setuptools wheel pyproject_hooks]
# @pip_list = `pip list --exclude pip`
# @required_pip_modules.each do |pip_pkg|
# unless @pip_list.include?(pip_pkg)
# puts "Installing #{pip_pkg} using pip..."
# system "MAKEFLAGS=-j#{CREW_NPROC} pip install #{pip_pkg}"
# end
# end
Dir.chdir(@python_build_relative_dir) do
if File.file?('setup.py')
puts "Python build options being used: #{PY3_SETUP_BUILD_OPTIONS} #{@python_build_options}".orange
puts "MAKEFLAGS=-j#{CREW_NPROC} python3 setup.py build #{PY3_SETUP_BUILD_OPTIONS} #{@python_build_options}" if CREW_VERBOSE
system "MAKEFLAGS=-j#{CREW_NPROC} python3 setup.py build #{PY3_SETUP_BUILD_OPTIONS} #{@python_build_options}"
else
puts "Python build options being used: #{PY3_BUILD_OPTIONS}".orange
puts "MAKEFLAGS=-j#{CREW_NPROC} python3 -m build #{PY3_BUILD_OPTIONS}" if CREW_VERBOSE
system "MAKEFLAGS=-j#{CREW_NPROC} python3 -m build #{PY3_BUILD_OPTIONS}"
end
@python_build_extras&.call
end
end
def self.install
Dir.chdir(@python_build_relative_dir) do
if File.file?('setup.py')
@py_setup_install_options = @no_svem ? PY_SETUP_INSTALL_OPTIONS_NO_SVEM : PY_SETUP_INSTALL_OPTIONS
puts "Python install options being used: #{@py_setup_install_options} #{@python_install_options}".orange
puts "MAKEFLAGS=-j#{CREW_NPROC} python3 setup.py install #{@py_setup_install_options} #{@python_install_options}" if CREW_VERBOSE
system "MAKEFLAGS=-j#{CREW_NPROC} python3 setup.py install #{@py_setup_install_options} #{@python_install_options}"
else
puts "Python install options being used: #{PY3_INSTALLER_OPTIONS}".orange
puts "MAKEFLAGS=-j#{CREW_NPROC} python3 -m installer #{PY3_INSTALLER_OPTIONS}" if CREW_VERBOSE
system "MAKEFLAGS=-j#{CREW_NPROC} python3 -m installer #{PY3_INSTALLER_OPTIONS}"
end
@python_install_extras&.call
end
end
end