diff --git a/0001-lilypond-2.21.2-gcc44-relocate.patch b/0001-lilypond-2.21.2-gcc44-relocate.patch
new file mode 100644
index 0000000000000000000000000000000000000000..cbcb7ec710b172a293e5bb1bd121a2f09e9e40aa
--- /dev/null
+++ b/0001-lilypond-2.21.2-gcc44-relocate.patch
@@ -0,0 +1,21 @@
+---
+ lily/relocate.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lily/relocate.cc b/lily/relocate.cc
+index 4fe31a2..6317792 100644
+--- a/lily/relocate.cc
++++ b/lily/relocate.cc
+@@ -16,7 +16,8 @@
+ You should have received a copy of the GNU General Public License
+ along with LilyPond. If not, see .
+ */
+-
++
++#include
+ #include "config.hh"
+
+ #include "relocate.hh"
+--
+2.31.1
+
diff --git a/century-schoolbook-l.metainfo.xml b/century-schoolbook-l.metainfo.xml
new file mode 100644
index 0000000000000000000000000000000000000000..316427a3e1a9354e0bc37402df083cd7760b4702
--- /dev/null
+++ b/century-schoolbook-l.metainfo.xml
@@ -0,0 +1,17 @@
+
+
+
+ lilypond-century-schoolbook-l
+ CC-BY-3.0
+ Century Schoolbook L
+ Lilypond Century Schoolbook L fonts
+
+
+ LilyPond is an automated music engraving system. It formats music
+ beautifully and automatically, and has a friendly syntax for its input
+ files.
+
+
+ pnemade_at_redhat_dot_com
+ http://www.lilypond.org
+
diff --git a/lilypond-2.25.1.tar.gz b/lilypond-2.25.1.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f139c53dd9512aa0a400a25dedd55a7457f9b21d
Binary files /dev/null and b/lilypond-2.25.1.tar.gz differ
diff --git a/lilypond.spec b/lilypond.spec
new file mode 100644
index 0000000000000000000000000000000000000000..3d26237f52a92d3a5d00ee27ed2927ad4c57928b
--- /dev/null
+++ b/lilypond.spec
@@ -0,0 +1,135 @@
+%define anolis_release 1
+
+%global _python_bytecompile_extra 0
+
+Name: lilypond
+Version: 2.25.1
+Release: %{anolis_release}%{dist}
+
+Summary: A typesetting system for music notation
+
+License: GPLv3
+URL: https://lilypond.org
+Source0: https://lilypond.org/download/sources/v2.25/lilypond-%{version}.tar.gz
+Source1: century-schoolbook-l.metainfo.xml
+
+Patch0001: 0001-lilypond-2.21.2-gcc44-relocate.patch
+
+Requires: ghostscript >= 8.15
+Obsoletes: lilypond-fonts <= 2.12.1-1
+Requires: lilypond-emmentaler-fonts = %{version}-%{release}
+
+Requires: texlive-tex-gyre
+
+BuildRequires: gcc-c++
+BuildRequires: t1utils bison flex ImageMagick gettext
+BuildRequires: python3-devel
+BuildRequires: mftrace >= 1.1.19
+BuildRequires: pkgconfig(guile-3.0)
+BuildRequires: ghostscript >= 8.15
+BuildRequires: pango-devel >= 1.12.0
+BuildRequires: fontpackages-devel
+BuildRequires: perl-Pod-Parser perl(Math::Trig)
+BuildRequires: rsync
+BuildRequires: texlive-metapost
+BuildRequires: make
+BuildRequires: cairo-devel
+BuildRequires: pkgconfig(bdw-gc)
+
+%description
+LilyPond is an automated music engraving system. It formats music
+beautifully and automatically, and has a friendly syntax for its input
+files.
+
+%package emmentaler-fonts
+Summary: Lilypond emmentaler fonts
+Requires: fontpackages-filesystem
+Requires: lilypond-fonts-common = %{version}-%{release}
+BuildArch: noarch
+
+%description emmentaler-fonts
+LilyPond is an automated music engraving system. It formats music
+beautifully and automatically, and has a friendly syntax for its input
+files.
+
+These are the emmentaler fonts included in the package.
+
+%package fonts-common
+Summary: Lilypond fonts common dir
+Requires: fontpackages-filesystem
+Obsoletes: lilypond-texgyre-cursor-fonts <= 2.23.11-1
+Obsoletes: lilypond-texgyre-heros-fonts <= 2.23.11-1
+Obsoletes: lilypond-texgyre-schola-fonts <= 2.23.11-1
+Obsoletes: lilypond-c059-fonts <= 2.23.11-1
+Obsoletes: lilypond-nimbus-fonts <= 2.23.11-1
+BuildArch: noarch
+
+%description fonts-common
+LilyPond is an automated music engraving system. It formats music
+beautifully and automatically, and has a friendly syntax for its input
+files.
+
+This contains the directory common to all lilypond fonts.
+
+%package doc
+Summary: Documentation files for %{name}
+Requires: %{name} = %{EVR}
+BuildArch: noarch
+
+%description doc
+The %{name}-doc package contains documentation files for %{name}.
+
+%prep
+%autosetup -p1
+
+%build
+PYTHON=/usr/bin/python3
+export PYTHON
+%configure GUILE_FLAVOR=guile-3.0 \
+ --disable-checking \
+ --enable-documentation=no \
+ --enable-cairo-backend \
+ --with-texgyre-dir=/usr/share/texlive/texmf-dist/fonts/opentype/public/tex-gyre/
+make %{?_smp_mflags} bytecode
+
+%install
+make install-bytecode DESTDIR=$RPM_BUILD_ROOT package_infodir=%{_infodir} \
+ vimdir=%{_datadir}/vim/vim90
+
+# Symlink lilypond-init.el in emacs' site-start.d directory
+pushd $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
+mkdir site-start.d
+ln -s ../lilypond-init.el site-start.d
+popd
+
+%find_lang %{name}
+
+mkdir -p $RPM_BUILD_ROOT%{_fontdir}
+mv $RPM_BUILD_ROOT%{_datadir}/lilypond/%{version}/fonts/otf/*.otf $RPM_BUILD_ROOT%{_fontdir}
+rmdir $RPM_BUILD_ROOT%{_datadir}/lilypond/%{version}/fonts/otf
+ln -s %{_fontdir} $RPM_BUILD_ROOT%{_datadir}/lilypond/%{version}/fonts/otf
+
+%generate_compatibility_deps
+
+%files -f %{name}.lang
+%license COPYING
+%dir %{abidir}
+%{_bindir}/*
+%{abidir}/*-option.list
+%{_datadir}/lilypond
+%{_datadir}/emacs/site-lisp
+%{_datadir}/vim/vim*
+%{_libdir}/%{name}/%{version}/ccache/lily/
+
+%_font_pkg -n emmentaler emmentaler*otf
+
+%files fonts-common
+%license COPYING
+
+%files doc
+%doc NEWS.txt README.md ROADMAP VERSION
+%doc AUTHORS.txt DEDICATION INSTALL.txt
+
+%changelog
+* Tue Mar 28 2023 yuanhui - 2.25.1-1
+- Init package from upstream