# Status: active # Tag: Synthesizer # Type: Standalone, Plugin, VST3, CLAP # Category: Synthesizer %global debug_package %{nil} Name: mx44-rust Version: 0.0.1 Release: 1%{?dist} Summary: A clone of the old Mx44 synthesizer in Rust. License: GPL-3.0-or-later AND GPL-2.0-or-later URL: https://github.com/ycollet/Mx44-rust ExclusiveArch: x86_64 aarch64 Vendor: Audinux Distribution: Audinux Source0: https://github.com/ycollet/Mx44-rust/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: gcc gcc-c++ BuildRequires: rustup BuildRequires: xcb-util-wm-devel BuildRequires: libXcursor-devel BuildRequires: mesa-libGL-devel BuildRequires: libX11-devel BuildRequires: openssl-devel BuildRequires: pkgconfig(jack) BuildRequires: alsa-lib-devel BuildRequires: python3 BuildRequires: desktop-file-utils %description A standalone Rust synthesizer inspired by Jens M Andreasen's Mx44. This is a new implementation, not an emulation or a source-compatible port. It replaces GTK2, x86 MMX and the JACK-only audio path with an egui editor, portable floating-point DSP, CPAL audio and midir MIDI input. %prep %autosetup -n Mx44-rust-%{version} %build %set_build_flags export RUSTFLAGS="-g -O" export CWD=`pwd` export RUSTUP_HOME="$CWD/rustup" export CARGO_HOME="$CWD/cargo" # rustup-init -y --no-modify-path --default-toolchain=1.76.0-x86_64-unknown-linux-gnu # rustup-init -y --no-modify-path --default-toolchain=nightly-x86_64-unknown-linux-gnu # source cargo/env # rustup target list # cargo build --release --bin hexosynth_jack %ifarch x86_64 rustup-init -y --no-modify-path --default-toolchain nightly-x86_64-unknown-linux-gnu %endif %ifarch aarch64 rustup-init -y --no-modify-path --default-toolchain nightly-aarch64-unknown-linux-gnu %endif source cargo/env cargo build --release %install install -m 755 -d %{buildroot}/%{_bindir}/ install -m 755 target/release/%{name} %{buildroot}/%{_bindir}/ install -m 755 -d %{buildroot}/%{_datadir}/%{name}/presets/ cp -ra presets/* %{buildroot}/%{_datadir}/%{name}/presets/ # Install icon install -m 755 -d %{buildroot}/%{_datadir}/icons/hicolor/scalable/apps/ cp assets/%{name}.svg %{buildroot}/%{_datadir}/icons/hicolor/scalable/apps/ # Write desktop files install -m 755 -d %{buildroot}/%{_datadir}/applications/ install -m 644 assets/%{name}.desktop %{buildroot}/%{_datadir}/applications/ desktop-file-install \ --delete-original \ --dir=%{buildroot}%{_datadir}/applications \ %{buildroot}/%{_datadir}/applications/%{name}.desktop %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %files %doc README.md %license COPYING COPYING-GPL3 %{_bindir}/* %{_datadir}/applications/* %{_datadir}/icons/hicolor/scalable/apps/* %{_datadir}/%{name}/presets/* %changelog * Fri Oct 23 2026 Yann Collette - 0.0.1-1 - Initial spec file