diff --git a/0001-Use-PID-valid-for-32-bit-systems-closes-12741.patch b/0001-Use-PID-valid-for-32-bit-systems-closes-12741.patch new file mode 100644 index 0000000..9515aef --- /dev/null +++ b/0001-Use-PID-valid-for-32-bit-systems-closes-12741.patch @@ -0,0 +1,28 @@ +From 8bc67d384b0c21d9bbc7145829ecd49e128038b3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Valim?= +Date: Sun, 2 Jul 2023 10:28:58 +0200 +Subject: [PATCH] Use PID valid for 32-bit systems, closes #12741 + +--- + lib/logger/test/logger/formatter_test.exs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/logger/test/logger/formatter_test.exs b/lib/logger/test/logger/formatter_test.exs +index 82a2ac6a9..2ea4ca08b 100644 +--- a/lib/logger/test/logger/formatter_test.exs ++++ b/lib/logger/test/logger/formatter_test.exs +@@ -116,9 +116,9 @@ test "format with format string" do + format = format(compiled, :error, nil, nil, meta: :data) + assert IO.chardata_to_string(format) == "meta=data " + +- pid = :erlang.list_to_pid(~c"<0.123.4>") ++ pid = :erlang.list_to_pid(~c"<0.123.0>") + format = format(compiled, :error, nil, nil, meta: :data, pid: pid) +- assert IO.chardata_to_string(format) == "meta=data pid=<0.123.4> " ++ assert IO.chardata_to_string(format) == "meta=data pid=<0.123.0> " + + # Hack to get the same predictable reference for every test run. + ref = +-- +2.35.3 + diff --git a/0001-Use-PID-valid-for-32-bit-systems-followup-to-12741-1.patch b/0001-Use-PID-valid-for-32-bit-systems-followup-to-12741-1.patch new file mode 100644 index 0000000..9b39450 --- /dev/null +++ b/0001-Use-PID-valid-for-32-bit-systems-followup-to-12741-1.patch @@ -0,0 +1,39 @@ +From e00524ba5b0e682488fa99bca4aa89e4e7071aa0 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Fri, 7 Jul 2023 20:47:26 +0200 +Subject: [PATCH] Use PID valid for 32-bit systems, followup to #12741 (#12772) + +Signed-off-by: Peter Lemenkov +--- + lib/iex/test/iex/helpers_test.exs | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lib/iex/test/iex/helpers_test.exs b/lib/iex/test/iex/helpers_test.exs +index 31984a390..ed5190e82 100644 +--- a/lib/iex/test/iex/helpers_test.exs ++++ b/lib/iex/test/iex/helpers_test.exs +@@ -1364,8 +1364,8 @@ test "reloads Erlang modules" do + + describe "pid/1,3" do + test "builds a PID from string" do +- assert inspect(pid("0.32767.3276")) == "#PID<0.32767.3276>" +- assert inspect(pid("0.5.6")) == "#PID<0.5.6>" ++ assert inspect(pid("0.32767.0")) == "#PID<0.32767.0>" ++ assert inspect(pid("0.5.0")) == "#PID<0.5.0>" + + assert_raise ArgumentError, fn -> + pid("0.6.-6") +@@ -1381,8 +1381,8 @@ test "builds a PID from atom" do + end + + test "builds a PID from integers" do +- assert inspect(pid(0, 32767, 3276)) == "#PID<0.32767.3276>" +- assert inspect(pid(0, 5, 6)) == "#PID<0.5.6>" ++ assert inspect(pid(0, 32767, 0)) == "#PID<0.32767.0>" ++ assert inspect(pid(0, 5, 0)) == "#PID<0.5.0>" + + assert_raise FunctionClauseError, fn -> + pid(0, 6, -6) +-- +2.35.3 + diff --git a/_multibuild b/_multibuild deleted file mode 100644 index 3d08dc7..0000000 --- a/_multibuild +++ /dev/null @@ -1,4 +0,0 @@ - - elixir-doc - - diff --git a/elixir-1.14.2.tar.gz b/elixir-1.14.2.tar.gz deleted file mode 100644 index 7908473..0000000 --- a/elixir-1.14.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f79e384706495725119f60982fa16ea82d510c3fbeacfc6ee1a77c792bf152a -size 3085613 diff --git a/elixir-1.15.7-doc.zip b/elixir-1.15.7-doc.zip new file mode 100644 index 0000000..e16a95d --- /dev/null +++ b/elixir-1.15.7-doc.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:115afa2842dd630dd15c6488849007b6f08bb661d072a812d53b11e5f4f6dfdf +size 4246858 diff --git a/elixir-1.15.7.tar.gz b/elixir-1.15.7.tar.gz new file mode 100644 index 0000000..bf8ae6a --- /dev/null +++ b/elixir-1.15.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78bde2786b395515ae1eaa7d26faa7edfdd6632bfcfcd75bccb6341a18e8798f +size 3151775 diff --git a/elixir-doc.changes b/elixir-doc.changes deleted file mode 100644 index aaefe35..0000000 --- a/elixir-doc.changes +++ /dev/null @@ -1,10 +0,0 @@ -------------------------------------------------------------------- -Wed Dec 19 18:56:20 UTC 2018 - matwey.kornilov@gmail.com - -- Set License to Apache-2.0. - I have not found where did ErlPL come from. - -------------------------------------------------------------------- -Mon Dec 10 11:16:45 UTC 2018 - matwey.kornilov@gmail.com - -- Add elixir-doc.changes diff --git a/elixir-doc.spec b/elixir-doc.spec deleted file mode 100644 index 1030414..0000000 --- a/elixir-doc.spec +++ /dev/null @@ -1,56 +0,0 @@ -# -# spec file for package elixir-doc -# -# Copyright (c) 2023 SUSE LLC -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - -Name: elixir-doc -Version: 1.14.2 -Release: 0 -Summary: Documentation for elixir -License: Apache-2.0 -Group: Documentation/Other -URL: http://elixir-lang.org -Source0: https://github.com/elixir-lang/elixir/archive/v%{version}.tar.gz#/elixir-%{version}.tar.gz -BuildRequires: elixir -BuildRequires: elixir-ex_doc -BuildRequires: unzip -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildArch: noarch -Requires: elixir = %{version} - -%description -Documentation for the Elixir language. - -%prep -%setup -q -n elixir-%{version} - -%build -# Elixir wants UTF-8 locale, force it -export LANG=en_US.UTF-8 -ex_doc "Elixir" "%{version}" "lib/elixir/ebin" -m "Kernel" -u "https://github.com/elixir-lang/elixir" -o doc/elixir -p http://elixir-lang.org/docs.html -ex_doc "EEx" "%{version}" "lib/eex/ebin" -m "EEx" -u "https://github.com/elixir-lang/elixir" -o doc/eex -p http://elixir-lang.org/docs.html -ex_doc "Mix" "%{version}" "lib/mix/ebin" -m "Mix" -u "https://github.com/elixir-lang/elixir" -o doc/mix -p http://elixir-lang.org/docs.html -ex_doc "IEx" "%{version}" "lib/iex/ebin" -m "IEx" -u "https://github.com/elixir-lang/elixir" -o doc/iex -p http://elixir-lang.org/docs.html -ex_doc "ExUnit" "%{version}" "lib/ex_unit/ebin" -m "ExUint" -u "https://github.com/elixir-lang/elixir" -o doc/ex_unit -p http://elixir-lang.org/docs.html -ex_doc "Logger" "%{version}" "lib/logger/ebin" -m "Logger" -u "https://github.com/elixir-lang/elixir" -o doc/logger -p http://elixir-lang.org/docs.html - -%install - -%files -%defattr(-,root,root) -%doc doc - -%changelog diff --git a/elixir.changes b/elixir.changes index c807ec8..a087730 100644 --- a/elixir.changes +++ b/elixir.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Tue Nov 21 15:47:29 UTC 2023 - Matwey Kornilov + +- Use pregenerated documentation + +------------------------------------------------------------------- +Mon Nov 13 06:45:28 UTC 2023 - Simon Lees + +- Switch from %patch0 to %autosetup + +------------------------------------------------------------------- +Sat Nov 11 10:23:18 UTC 2023 - Matwey Kornilov + +- Update to Elixir 1.15.7: + * Fix build for Erlang 26 + * Changelog available at https://hexdocs.pm/elixir/1.15.7/changelog.html +- Add 0001-Use-PID-valid-for-32-bit-systems-closes-12741.patch: + * Fix build for 32bit +- Add 0001-Use-PID-valid-for-32-bit-systems-followup-to-12741-1.patch: + * Fix build for 32bit + ------------------------------------------------------------------- Thu May 4 11:26:04 UTC 2023 - Dominique Leuenberger diff --git a/elixir.spec b/elixir.spec index 5e4d9e8..3494709 100644 --- a/elixir.spec +++ b/elixir.spec @@ -16,19 +16,25 @@ # +%define elixirdir %{_prefix}/lib/elixir + Name: elixir -Version: 1.14.2 +Version: 1.15.7 Release: 0 Summary: Functional meta-programming aware language built atop Erlang License: Apache-2.0 Group: Development/Languages/Other URL: http://elixir-lang.org -Source0: https://github.com/elixir-lang/elixir/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: https://github.com/elixir-lang/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/elixir-lang/%{name}/releases/download/v%{version}/Docs.zip#/%{name}-%{version}-doc.zip Source2: macros.elixir +Patch0: 0001-Use-PID-valid-for-32-bit-systems-closes-12741.patch +Patch1: 0001-Use-PID-valid-for-32-bit-systems-followup-to-12741-1.patch +BuildRequires: fdupes BuildRequires: gcc BuildRequires: make -Requires: erlang >= 23 -BuildRequires: erlang >= 23 +Requires: erlang >= 24 +BuildRequires: erlang >= 24 BuildRequires: erlang-dialyzer BuildRequires: erlang-src # required by Mix.SCM.Git see also (https://github.com/elixir-lang/elixir/issues/1386) @@ -52,18 +58,20 @@ Finally, Elixir and Erlang share the same bytecode and data types. This means one can invoke Erlang code from Elixir (and vice-versa) without any conversion or performance impact. -%package src -Summary: Elixir programming language sources -Group: Development/Sources -Requires: %{name} = %{version} +%package doc +Summary: Documentation for elixir +Group: Documentation/Other +BuildArch: noarch +Requires: elixir = %{version} -%description src -Elixir source code. - -%define elixirdir %{_prefix}/lib/elixir +%description doc +Documentation for the Elixir language. %prep -%setup -q +%autosetup -p1 + +unzip -o %{SOURCE1} +find doc \( -name ".build" -or -name ".ex_doc" \) -delete %build # Elixir wants UTF-8 locale, force it @@ -73,14 +81,21 @@ make %install make install DESTDIR=%{buildroot} PREFIX=%{_prefix} -# install -D -m 0644 -# Relink + +mkdir -p %{buildroot}%{_bindir} for I in iex elixir elixirc mix do ln -sf %{elixirdir}/bin/$I %{buildroot}%{_bindir}/$I done + install -D -m 0644 %{S:2} %{buildroot}%{_rpmmacrodir}/macros.elixir +mkdir -p %{buildroot}%{_defaultdocdir} +cp -pa doc %{buildroot}%{_defaultdocdir}/elixir-doc + +%fdupes -s %{buildroot}/%{_mandir} +%fdupes %{buildroot}/%{_prefix} + %check export LANG=en_US.UTF-8 make test @@ -107,4 +122,9 @@ make test %{elixirdir}/lib/* %{_rpmmacrodir}/macros.elixir +%files doc +%defattr(-,root,root) +%license LICENSE +%{_defaultdocdir}/elixir-doc + %changelog