[arch-commits] Commit in 0ad/trunk (PKGBUILD glibc-2.35.patch)

Evangelos Foutras foutrelis at gemini.archlinux.org
Fri Apr 15 00:33:16 UTC 2022


    Date: Friday, April 15, 2022 @ 00:33:16
  Author: foutrelis
Revision: 1186411

Add a few build fixes

- apply upstream patch for glibc 2.35 compatibility
- disable lto as it breaks spidermonkey linking
- add python as a build dependency

Added:
  0ad/trunk/glibc-2.35.patch
Modified:
  0ad/trunk/PKGBUILD

------------------+
 PKGBUILD         |    9 ++-
 glibc-2.35.patch |  157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 164 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-04-15 00:30:23 UTC (rev 1186410)
+++ PKGBUILD	2022-04-15 00:33:16 UTC (rev 1186411)
@@ -12,14 +12,19 @@
 depends=('0ad-data' 'binutils' 'boost-libs' 'curl' 'enet' 'libogg' 'libpng' 'libvorbis'
          'libxml2' 'openal' 'sdl2' 'wxgtk3' 'zlib' 'libgl' 'glu' 'fmt'
          'gloox' 'miniupnpc' 'libminiupnpc.so' 'icu' 'nspr' 'libsodium')
-makedepends=('boost' 'cmake' 'mesa' 'zip' 'libsm' 'rust')
+makedepends=('boost' 'cmake' 'mesa' 'zip' 'libsm' 'rust' 'python')
+options=('!lto') # breaks spidermonkey linking (https://bugs.gentoo.org/746947)
 source=("https://releases.wildfiregames.com/$pkgname-$_pkgver-unix-build.tar.xz"
+         glibc-2.35.patch
          python-3.10.patch)
 sha512sums=('e8069897b97b381099ab5ec5868d27e96c699105b3307054d1bc7bf9236a537f02625ba9034892d91f3e951b4f95c9ce5fb75ed0a7c14b8a294882482fd9c1b4'
+            'e56fa4a3a43f7510dde50d5fd0ccda2f935d9ad2aac44d9af9e89109c655b605f8ef582e1188be3dc1d42b7feef0caefa0ec514776696603c237f054fd6778c9'
             '42df5eb7c4a99b31365b7f15c5bcd76c978339f2837eb8bc6ec371979429d0f0a6e31e870f6851aa40fc4859cb3e82f74821a01d04b82b486342db0fa60bf55e')
 
 prepare() {
-  patch -d $pkgname-$_pkgver -p1 < python-3.10.patch # Fix spidermonkey build with Python 3.10
+  cd $pkgname-$_pkgver
+  patch -Np1 -i ../glibc-2.35.patch # https://code.wildfiregames.com/rP26536
+  patch -Np1 -i ../python-3.10.patch # Fix spidermonkey build with Python 3.10
 }
 
 build() {

Added: glibc-2.35.patch
===================================================================
--- glibc-2.35.patch	                        (rev 0)
+++ glibc-2.35.patch	2022-04-15 00:33:16 UTC (rev 1186411)
@@ -0,0 +1,157 @@
+From 7df614338cbd41f5e254ce75f649490b2637e1d0 Mon Sep 17 00:00:00 2001
+From: vladislavbelov <vladislavbelov at 3db68df2-c116-0410-a063-a993310a9797>
+Date: Thu, 3 Mar 2022 18:10:05 +0000
+Subject: [PATCH] Replaces M_PIf by M_PI in Atlas, fixes compilation with gcc
+ 11.2.0 and glibc 2.35.
+
+There was added a workaround in glibc to fix tests.
+
+Refs:
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103735
+https://sourceware.org/bugzilla/show_bug.cgi?id=28713
+
+
+git-svn-id: https://svn.wildfiregames.com/public/ps/trunk@26536 3db68df2-c116-0410-a063-a993310a9797
+---
+ .../Sections/Environment/Environment.cpp      | 88 ++++++++++++-------
+ 1 file changed, 57 insertions(+), 31 deletions(-)
+
+diff --git a/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Environment/Environment.cpp b/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Environment/Environment.cpp
+index d4796ec1f2f..2cc265230d9 100644
+--- a/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Environment/Environment.cpp
++++ b/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Environment/Environment.cpp
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2021 Wildfire Games.
++/* Copyright (C) 2022 Wildfire Games.
+  * This file is part of 0 A.D.
+  *
+  * 0 A.D. is free software: you can redistribute it and/or modify
+@@ -29,8 +29,6 @@ using AtlasMessage::Shareable;
+ 
+ static Observable<AtlasMessage::sEnvironmentSettings> g_EnvironmentSettings;
+ 
+-const float M_PIf = 3.14159265f;
+-
+ //////////////////////////////////////////////////////////////////////////
+ 
+ class VariableSliderBox : public wxPanel
+@@ -85,12 +83,15 @@ class VariableListBox : public wxPanel
+ 		: wxPanel(parent),
+ 		m_Var(var)
+ 	{
+-		m_Conn = g_EnvironmentSettings.RegisterObserver(0, &VariableListBox::OnSettingsChange, this);
++		m_Conn = g_EnvironmentSettings.RegisterObserver(
++			0, &VariableListBox::OnSettingsChange, this);
+ 
+ 		m_Sizer = new wxStaticBoxSizer(wxVERTICAL, this, label);
+ 		SetSizer(m_Sizer);
+ 
+-		m_Combo = new wxComboBox(this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxArrayString(), wxCB_READONLY),
++		m_Combo = new wxComboBox(
++			this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize,
++			wxArrayString(), wxCB_READONLY),
+ 		m_Sizer->Add(m_Combo, wxSizerFlags().Expand());
+ 	}
+ 
+@@ -206,8 +207,9 @@ static void SendToGame(const AtlasMessage::sEnvironmentSettings& settings)
+ 	POST_COMMAND(SetEnvironmentSettings, (settings));
+ }
+ 
+-EnvironmentSidebar::EnvironmentSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
+-: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
++EnvironmentSidebar::EnvironmentSidebar(
++	ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
++	: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
+ {
+ 	wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
+ 	wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this);
+@@ -217,15 +219,24 @@ EnvironmentSidebar::EnvironmentSidebar(ScenarioEditor& scenarioEditor, wxWindow*
+ 
+ 	wxSizer* waterSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Water settings"));
+ 	scrollSizer->Add(waterSizer, wxSizerFlags().Expand());
+-	waterSizer->Add(new wxButton(scrolledWindow, ID_RecomputeWaterData, _("Reset Water Data")), wxSizerFlags().Expand());
+-	waterSizer->Add(m_WaterTypeList = new VariableListBox(scrolledWindow, _("Water Type"), g_EnvironmentSettings.watertype), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Water height"), g_EnvironmentSettings.waterheight, 0.f, 1.2f), wxSizerFlags().Expand());
+-	waterSizer->Add(new wxButton(scrolledWindow, ID_PickWaterHeight, _("Pick Water Height")), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Water waviness"), g_EnvironmentSettings.waterwaviness, 0.f, 10.f), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Water murkiness"), g_EnvironmentSettings.watermurkiness, 0.f, 1.f), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableSliderBox(scrolledWindow, _("Wind angle"), g_EnvironmentSettings.windangle, -M_PIf, M_PIf), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableColorBox(scrolledWindow, _("Water color"), g_EnvironmentSettings.watercolor), wxSizerFlags().Expand());
+-	waterSizer->Add(new VariableColorBox(scrolledWindow, _("Water tint"), g_EnvironmentSettings.watertint), wxSizerFlags().Expand());
++	waterSizer->Add(new wxButton(
++		scrolledWindow, ID_RecomputeWaterData, _("Reset Water Data")), wxSizerFlags().Expand());
++	waterSizer->Add(m_WaterTypeList = new VariableListBox(
++		scrolledWindow, _("Water Type"), g_EnvironmentSettings.watertype), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Water height"), g_EnvironmentSettings.waterheight, 0.f, 1.2f), wxSizerFlags().Expand());
++	waterSizer->Add(new wxButton(
++		scrolledWindow, ID_PickWaterHeight, _("Pick Water Height")), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Water waviness"), g_EnvironmentSettings.waterwaviness, 0.f, 10.f), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Water murkiness"), g_EnvironmentSettings.watermurkiness, 0.f, 1.f), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Wind angle"), g_EnvironmentSettings.windangle, -static_cast<float>(M_PI), static_cast<float>(M_PI)), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Water color"), g_EnvironmentSettings.watercolor), wxSizerFlags().Expand());
++	waterSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Water tint"), g_EnvironmentSettings.watertint), wxSizerFlags().Expand());
+ 
+ 	std::vector<std::wstring> list;
+ 	list.push_back(L"ocean"); list.push_back(L"lake"); list.push_back(L"clap");
+@@ -235,25 +246,40 @@ EnvironmentSidebar::EnvironmentSidebar(ScenarioEditor& scenarioEditor, wxWindow*
+ 	wxSizer* sunSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Sun / lighting settings"));
+ 	scrollSizer->Add(sunSizer, wxSizerFlags().Expand().Border(wxTOP, 8));
+ 
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Sun rotation"), g_EnvironmentSettings.sunrotation, -M_PIf, M_PIf), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Sun elevation"), g_EnvironmentSettings.sunelevation, -M_PIf/2, M_PIf/2), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Sun overbrightness"), g_EnvironmentSettings.sunoverbrightness, 1.0f, 3.0f), wxSizerFlags().Expand());
+-	sunSizer->Add(new LightControl(scrolledWindow, wxSize(150, 150), g_EnvironmentSettings));
+-	sunSizer->Add(new VariableColorBox(scrolledWindow, _("Sun color"), g_EnvironmentSettings.suncolor), wxSizerFlags().Expand());
+-	sunSizer->Add(m_SkyList = new VariableListBox(scrolledWindow, _("Sky set"), g_EnvironmentSettings.skyset), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Fog Factor"), g_EnvironmentSettings.fogfactor, 0.0f, 0.01f), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableSliderBox(scrolledWindow, _("Fog Thickness"), g_EnvironmentSettings.fogmax, 0.5f, 0.0f), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableColorBox(scrolledWindow, _("Fog color"), g_EnvironmentSettings.fogcolor), wxSizerFlags().Expand());
+-	sunSizer->Add(new VariableColorBox(scrolledWindow, _("Ambient color"), g_EnvironmentSettings.ambientcolor), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Sun rotation"), g_EnvironmentSettings.sunrotation, -static_cast<float>(M_PI), static_cast<float>(M_PI)), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Sun elevation"), g_EnvironmentSettings.sunelevation, -static_cast<float>(M_PI) / 2.0f, static_cast<float>(M_PI) / 2.0f), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Sun overbrightness"), g_EnvironmentSettings.sunoverbrightness, 1.0f, 3.0f), wxSizerFlags().Expand());
++	sunSizer->Add(new LightControl(
++		scrolledWindow, wxSize(150, 150), g_EnvironmentSettings));
++	sunSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Sun color"), g_EnvironmentSettings.suncolor), wxSizerFlags().Expand());
++	sunSizer->Add(m_SkyList = new VariableListBox(
++		scrolledWindow, _("Sky set"), g_EnvironmentSettings.skyset), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Fog Factor"), g_EnvironmentSettings.fogfactor, 0.0f, 0.01f), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Fog Thickness"), g_EnvironmentSettings.fogmax, 0.5f, 0.0f), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Fog color"), g_EnvironmentSettings.fogcolor), wxSizerFlags().Expand());
++	sunSizer->Add(new VariableColorBox(
++		scrolledWindow, _("Ambient color"), g_EnvironmentSettings.ambientcolor), wxSizerFlags().Expand());
+ 
+ 	wxSizer* postProcSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Post-processing settings"));
+ 	scrollSizer->Add(postProcSizer, wxSizerFlags().Expand().Border(wxTOP, 8));
+ 
+-	postProcSizer->Add(m_PostEffectList = new VariableListBox(scrolledWindow, _("Post Effect"), g_EnvironmentSettings.posteffect), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Brightness"), g_EnvironmentSettings.brightness, -0.5f, 0.5f), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Contrast (HDR)"), g_EnvironmentSettings.contrast, 0.5f, 1.5f), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Saturation"), g_EnvironmentSettings.saturation, 0.0f, 2.0f), wxSizerFlags().Expand());
+-	postProcSizer->Add(new VariableSliderBox(scrolledWindow, _("Bloom"), g_EnvironmentSettings.bloom, 0.2f, 0.0f), wxSizerFlags().Expand());
++	postProcSizer->Add(m_PostEffectList = new VariableListBox(
++		scrolledWindow, _("Post Effect"), g_EnvironmentSettings.posteffect), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Brightness"), g_EnvironmentSettings.brightness, -0.5f, 0.5f), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Contrast (HDR)"), g_EnvironmentSettings.contrast, 0.5f, 1.5f), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Saturation"), g_EnvironmentSettings.saturation, 0.0f, 2.0f), wxSizerFlags().Expand());
++	postProcSizer->Add(new VariableSliderBox(
++		scrolledWindow, _("Bloom"), g_EnvironmentSettings.bloom, 0.2f, 0.0f), wxSizerFlags().Expand());
+ 
+ 	m_Conn = g_EnvironmentSettings.RegisterObserver(0, &SendToGame);
+ }



More information about the arch-commits mailing list