diff --git a/.gitignore b/.gitignore index 84db14b..362af8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.tar.gz *.o .deps .gdb_history diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8a86062 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +NAME := alsa-scarlett-gui +VERSION := $(shell git describe --abbrev=4 --always --tags | sed 's/-/./g') +NAMEVER := $(NAME)-$(VERSION) +TAR_FILE := $(NAMEVER).tar +TARGZ_FILE := $(TAR_FILE).gz +SPEC_FILE := $(NAME).spec + +default: + @echo "alsa-scarlett-gui" + @echo + @echo "If you want to build and install from source, please try:" + @echo " cd src" + @echo " make -j4" + @echo " sudo make install" + @echo + @echo "This Makefile knows about packaging:" + @echo " make tar" + @echo " make rpm" + +tar: $(TARGZ_FILE) + +$(TARGZ_FILE): + git archive --format=tar --prefix=$(NAMEVER)/ HEAD > $(TAR_FILE) + sed 's_VERSION$$_$(VERSION)_' < $(SPEC_FILE).template > $(SPEC_FILE) + tar --append -f $(TAR_FILE) \ + --transform s_^_$(NAMEVER)/_ \ + --owner=root --group=root \ + $(SPEC_FILE) + rm -f $(SPEC_FILE) + gzip < $(TAR_FILE) > $(TARGZ_FILE) + rm -f $(TAR_FILE) + +rpm: $(TARGZ_FILE) + rpmbuild -tb $(TARGZ_FILE) diff --git a/alsa-scarlett-gui.spec.template b/alsa-scarlett-gui.spec.template new file mode 100644 index 0000000..8d9754d --- /dev/null +++ b/alsa-scarlett-gui.spec.template @@ -0,0 +1,33 @@ +Summary: ALSA Scarlett Gen 2/3 Control Panel +Name: alsa-scarlett-gui +Version: VERSION +Release: 1%{?dist} +License: GPLv3+ LGPLv3+ +Url: https://github.com/geoffreybennett/alsa-scarlett-gui +Source: %{name}-%{version}.tar.gz + +%description + +alsa-scarlett-gui is a Gtk4 GUI for the ALSA controls presented by the +Linux kernel Focusrite Scarlett Gen 2/3 Mixer Driver. + +%prep +%setup + +%build +make -C src -j4 VERSION=%{version} PREFIX=/usr + +%install +%make_install -C src PREFIX=/usr +DOCDIR=%{buildroot}/usr/share/doc/%{name}-%{version} +mkdir -p $DOCDIR/img +mkdir $DOCDIR/demo +cp *.md $DOCDIR +cp img/* $DOCDIR/img +cp demo/* $DOCDIR/demo + +%files +%doc /usr/share/doc/%{name}-%{version} +/usr/bin/alsa-scarlett-gui +/usr/share/applications/vu.b4.alsa-scarlett-gui.desktop +/usr/share/icons/hicolor/256x256/apps/alsa-scarlett-gui.png