Repository: conan-io/conan-center-index

Issue:
[package] openal-soft/1.22.2 : Website down, no mirror, impossible to build libalsa
### Description

The website seems down from conan, but also in a web-browser, which makes it impossible to download the sources to build it from source. It's been more than a week now (see [this issue](https://github.com/kcat/openal-soft/issues/956) )

Think it's rather a problem for the library maintainers, but still posting here just in case the recipe can be fixed by someone else by mirroring the sources elsewhere. Think the software license allows it

Maybe also [the github releases](https://github.com/kcat/openal-soft/releases) can be used in case the first one doesn't work

### Package and Environment Details

* Package Name/Version: **openal-soft/1.22.2**
* Operating System+version: **Linux Ubuntu 22.04**
* Compiler+version: **GCC 12.3**
* Conan version: **conan 2.0.13**
* Python version: **Python 3.10.12**


### Conan profile

Host profile:
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu20
compiler.libcxx=libstdc++11
compiler.version=12
os=Linux

Build profile:
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu20
compiler.libcxx=libstdc++11
compiler.version=12
os=Linux


### Steps to reproduce

Conan file

```
[requires]
spdlog/1.12.0
boost/1.82.0
lyra/1.5.1
nlohmann_json/3.10.2
imgui/cci.20230105+1.89.2.docking
sfml/2.6.0
entt/3.10.1
gtest/1.14.0
libudev/system

[generators]
CMakeDeps
CMakeToolchain
```

Then ran

```bash
conan install . --output-folder=build --build=missing -c tools.system.package_manager:mode=install -c tools.system.package_manager:sudo=True
```


### Logs

<details><summary>Click to expand log</summary>

```
Got : 

```console
openal-soft/1.22.2: Calling source() in /home/delevoye/.conan2/p/openaca3b552cbecd7/s/src
openal-soft/1.22.2: ERROR: Error downloading file https://openal-soft.org/openal-releases/openal-soft-1.22.2.tar.bz2: 'HTTPSConnectionPool(host='openal-soft.org', port=443): Max retries exceeded with url: /openal-releases/openal-soft-1.22.2.tar.bz2 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7efd699bb970>, 'Connection to openal-soft.org timed out. (connect timeout=30)'))'
openal-soft/1.22.2: Waiting 5 seconds to retry...
openal-soft/1.22.2: ERROR: Error downloading file https://openal-soft.org/openal-releases/openal-soft-1.22.2.tar.bz2: 'HTTPSConnectionPool(host='openal-soft.org', port=443): Max retries exceeded with url: /openal-releases/openal-soft-1.22.2.tar.bz2 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efd699b9570>: Failed to establish a new connection: [Errno 113] No route to host'))'
openal-soft/1.22.2: Waiting 5 seconds to retry...
ERROR: openal-soft/1.22.2: Error in source() method, line 92
        get(self, **self.conan_data["sources"][self.version], strip_root=True)
        ConanException: Error downloading file https://openal-soft.org/openal-releases/openal-soft-1.22.2.tar.bz2: 'HTTPSConnectionPool(host='openal-soft.org', port=443): Max retries exceeded with url: /openal-releases/openal-soft-1.22.2.tar.bz2 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efd699b8c10>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))'
```
```

</details>



Discussion:

Resolving patch:
diff --git a/recipes/openal-soft/all/conanfile.py b/recipes/openal-soft/all/conanfile.py
--- a/recipes/openal-soft/all/conanfile.py
+++ b/recipes/openal-soft/all/conanfile.py
@@ -29,20 +29,16 @@ class OpenALSoftConan(ConanFile):
         "fPIC": True,
     }
 
-    @property
-    def _openal_cxx_backend(self):
-        return Version(self.version) >= "1.20"
-
     @property
     def _min_cppstd(self):
-        return "11" if Version(self.version) < "1.21" else "14"
+        return 14
 
     @property
     def _minimum_compilers_version(self):
         return {
-            "Visual Studio": "13" if Version(self.version) < "1.21" else "15",
-            "msvc": "180" if Version(self.version) < "1.21" else "191",
-            "gcc": "5",
+            "Visual Studio": "15",
+            "msvc": "191",
+            "gcc": "6",
             "clang": "5",
         }
 
@@ -59,8 +55,6 @@ def configure(self):
         # OpenAL's API is pure C, thus the c++ standard does not matter
         # Because the backend is C++, the C++ STL matters
         self.settings.rm_safe("compiler.cppstd")
-        if not self._openal_cxx_backend:
-            self.settings.rm_safe("compiler.libcxx")
 
     def layout(self):
         cmake_layout(self, src_folder="src")
@@ -70,23 +64,22 @@ def requirements(self):
             self.requires("libalsa/1.2.10")
 
     def validate(self):
-        if self._openal_cxx_backend:
-            if self.settings.compiler.get_safe("cppstd"):
-                check_min_cppstd(self, self._min_cppstd)
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
 
-            compiler = self.settings.compiler
+        compiler = self.settings.compiler
 
-            minimum_version = self._minimum_compilers_version.get(str(compiler), False)
-            if minimum_version and Version(compiler.version) < minimum_version:
-                raise ConanInvalidConfiguration(
-                    f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.",
-                )
+        minimum_version = self._minimum_compilers_version.get(str(compiler), False)
+        if minimum_version and Version(compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.",
+            )
 
-            if compiler == "clang" and Version(compiler.version) < "9" and \
-               compiler.get_safe("libcxx") in ("libstdc++", "libstdc++11"):
-                raise ConanInvalidConfiguration(
-                    f"{self.ref} cannot be built with {compiler} {compiler.version} and stdlibc++(11) c++ runtime",
-                )
+        if compiler == "clang" and Version(compiler.version) < "9" and \
+           compiler.get_safe("libcxx") in ("libstdc++", "libstdc++11"):
+            raise ConanInvalidConfiguration(
+                f"{self.ref} cannot be built with {compiler} {compiler.version} and stdlibc++(11) c++ runtime",
+            )
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
@@ -155,9 +148,11 @@ def package_info(self):
                 self.cpp_info.frameworks.append("ApplicationServices")
         elif self.settings.os == "Windows":
             self.cpp_info.system_libs.extend(["winmm", "ole32", "shell32", "user32"])
-        if self._openal_cxx_backend and not self.options.shared:
+        if not self.options.shared:
             libcxx = stdcpp_library(self)
             if libcxx:
                 self.cpp_info.system_libs.append(libcxx)
         if not self.options.shared:
             self.cpp_info.defines.append("AL_LIBTYPE_STATIC")
+        if self.settings.get_safe("compiler.libcxx") in ["libstdc++", "libstdc++11"]:
+            self.cpp_info.system_libs.append("atomic")


Test patch: