diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 653e76027a..db66301f3a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
 ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
 ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
+;;; Copyright © 2023 Nigko Yerden <nigko.yerden@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4488,6 +4489,112 @@ (define-public wxmaxima
 full text searching.")
     (license license:gpl2+)))
 
+(define-public reduce-csl
+  (package
+    (name "reduce-csl")
+    (version "6547")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/reduce-algebra/snapshot_"
+                    "2023-03-08" "/Reduce-svn" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "1a559s4ff5askifyha6fi8qvxjkya1n3ziypig2rgi6q62nbx418"))
+              (modules '((guix build utils)))
+              ;; remove binaries and unnecessary parts
+              ;; to ensure we build from source files only
+              (snippet '(map delete-file-recursively
+                         (append (find-files "csl/generated-c" "\\.img$")
+                          '("psl" "vsl"
+                            "jlisp"
+                            "jslisp"
+                            "libedit"
+                            "macbuild"
+                            "MacPorts"
+                            "mac-universal"
+                            "reduce2"
+                            "winbuild64"
+                            "common-lisp"
+                            "contrib"
+                            "generic/qreduce"
+                            "web/htdocs/images/Thumbs.db")
+                          (find-files "csl"
+                           "^(embedded|new-embedded|winbuild|support-packages)$"
+                           #:directories? #t)
+                          (find-files "libraries"
+                           "^(original|wineditline|libffi-for-mac)$"
+                           #:directories? #t))))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f
+           #:configure-flags
+           #~(list "--without-autogen"
+                   ;; fix conflict with internal build name determination
+                   "--build=" "--with-csl"
+                   (string-append "CXXFLAGS=-I"
+                                  #$freetype
+                                  "/include/freetype2"))
+           #:make-flags #~(list "csl")
+           #:phases #~(modify-phases %standard-phases
+                        (add-before 'patch-source-shebangs 'autogen
+                          (lambda _
+                            (invoke "sh" "autogen.sh")))
+                        (add-after 'install 'fix-install
+                          (lambda _
+                            (delete-file-recursively (string-append #$output
+                                                                    "/man"))
+                            (delete-file (string-append #$output "/share/man"))
+                            (copy-file "bin/rfcsl"
+                                       (string-append #$output "/bin/rfcsl"))
+                            (let ((.desktop-file
+                                   "debianbuild/reduce/debian/redcsl.desktop")
+                                  (icon "debianbuild/reduce/debian/reduce.png"))
+                              (substitute* .desktop-file
+                                (("Exec=/.*/(redcsl[ \t]+.*)" _ exec)
+                                 (string-append "Exec=" exec)))
+                              (install-file .desktop-file
+                                            (string-append #$output
+                                             "/share/applications"))
+                              (install-file icon
+                                            (string-append #$output
+                                             "/share/icons/hicolor/32x32/apps")))
+                            (rename-file "generic/newfront/redfront.1"
+                                         "generic/newfront/rfcsl.1")
+                            (map (lambda (file)
+                                   (invoke "gzip" file)
+                                   (install-file (string-append file ".gz")
+                                                 (string-append #$output
+                                                  "/share/man/man1")))
+                                 '("csl/cslbase/redcsl.1"
+                                   "generic/newfront/rfcsl.1"))
+                            (with-directory-excursion #$output
+                              (map (lambda (dir)
+                                     (map (lambda (file)
+                                            (chmod file #o444))
+                                          (find-files dir)))
+                                   '("share/man/man1" "share/doc/reduce"
+                                     "share/reduce/fonts"))))))))
+    (native-inputs (list which autoconf automake libtool))
+    (inputs
+     ;; bundled libraries: fox (adjusted) editline (adjusted)
+     ;; libffi crlibm softfloat
+     (list ncurses freetype libxft libx11 libxext))
+    (synopsis "Portable general-purpose computer algebra system")
+    (description
+     "REDUCE is a portable general-purpose computer algebra system.  It is a
+system for doing scalar, vector and matrix algebra by computer, which also
+supports arbitrary precision numerical approximation and interfaces to gnuplot
+to provide graphics.  It can be used interactively for simple calculations but
+also provides a full programming language, with a syntax similar to other
+modern programming languages.  REDUCE supports alternative user interfaces
+including Run-REDUCE, TeXmacs and GNU Emacs.  This package provides Codemist
+Standard Lisp (CSL) version of REDUCE.  It uses gnuplot program, if installed,
+to make figures.")
+    (home-page "https://reduce-algebra.sourceforge.io/")
+    (license (license:non-copyleft "file://README"
+                                   "See README in the deistribution."))))
+
 (define-public armadillo
   (package
     (name "armadillo")
