Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Education
tuxguitar
tuxguitar.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tuxguitar.spec of Package tuxguitar
# # spec file for package tuxguitar # # Copyright (c) 2024 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/ # %ifarch x86_64 %global bit x86_64 %endif %ifarch armv7hl %global bit armv7hl %endif %ifarch armv6hl %global bit armv6hl %endif %ifarch ppc64 %global bit ppc64 %endif %ifarch ppc64le %global bit ppc64le %endif %ifarch riscv64 %global bit riscv64 %endif %ifarch s390x %global bit s390x %endif %ifarch aarch64 %global bit aarch64 %endif %ifarch %{ix86} %global bit x86 %endif Name: tuxguitar Version: 1.6.2 Release: 0 Summary: A multitrack tablature editor and player written in Java-SWT License: LGPL-2.1-or-later Group: Productivity/Multimedia/Sound/Utilities URL: https://github.com/helge17/tuxguitar Source0: https://github.com/helge17/tuxguitar/archive/refs/tags/%{version}.tar.gz Patch0: 0001-tuxguitar-aarch64.patch Patch1: 0002-tuxguitar-armv6hl.patch Patch2: 0003-tuxguitar-armv7hl.patch Patch3: 0004-tuxguitar-ppc64.patch Patch4: 0005-tuxguitar-ppc64le.patch Patch5: 0006-tuxguitar-riscv64.patch Patch6: 0007-tuxguitar-s390x.patch Patch7: 0008-tuxguitar-x86.patch Patch11: 0009-no-lv2.patch Patch12: 0010-no-fluidsynth.patch Patch20: 0011-default-soundfont.patch Patch21: 0012-startscript.patch Patch22: 0013-desktop.patch BuildRequires: alsa-devel BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: jack-audio-connection-kit-devel BuildRequires: libQt5Core-devel BuildRequires: libQt5Widgets-devel BuildRequires: maven-local BuildRequires: update-desktop-files BuildRequires: mvn(com.itextpdf:itextpdf) BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) BuildRequires: mvn(org.eclipse.swt:org.eclipse.swt) Requires: apache-commons-compress Requires: eclipse-swt >= 4.13 Recommends: snd_sf2 Recommends: timidity Recommends: wqy-zenhei-fonts Suggests: fluid-soundfont-gm %if 0%{?suse_version} >= 1500 BuildRequires: fluidsynth-devel BuildRequires: liblilv-0-devel %endif %if 0%{?suse_version} > 1500 BuildRequires: suil-devel %endif %description TuxGuitar is a guitar tablature editor with player support through midi. It can display scores and multitrack tabs. Various features TuxGuitar provides include autoscrolling while playing, note duration management, bend/slide/vibrato/ hammer-on/pull-off effects, support for tuplets, time signature management, tempo management, gp3/gp4/gp5/gpx import and export. %prep %setup -q find . -name "*.exe" -print -delete find . -name "*.dll" -print -delete find . -name "*.sf2" -print -delete find . -name "*.jar" -print -delete find . -name "*.so" -print -delete %patch -P 0 -p1 %patch -P 1 -p1 %patch -P 2 -p1 %patch -P 3 -p1 %patch -P 4 -p1 %patch -P 5 -p1 %patch -P 6 -p1 %patch -P 7 -p1 # In source archive, all modules have an attribute "VERSION" set to "SNAPSHOT" # this attribute is set during build/delivery # Refer to application delivery process : # https://github.com/helge17/tuxguitar/blob/bd6b29c9539d66b625a625e70bd8718497aa107b/misc/build_tuxguitar_from_source.sh#L148 find . \( -name "*.xml" -or -name "*.gradle" -or -name "*.properties" -or -name "*.html" -or -name control -or -name Info.plist \) -and -not -path "./website/*" -and -type f -exec sed -i "s/SNAPSHOT/%{version}/" '{}' \; # Also set the version in the "Help - About" dialog sed -i "s/static final String RELEASE_NAME =.*/static final String RELEASE_NAME = (TGApplication.NAME + \" %{version}\");/" desktop/TuxGuitar/src/org/herac/tuxguitar/app/view/dialog/about/TGAboutDialog.java %if 0%{?suse_version} <= 1500 %patch -P 11 -p1 %endif %if 0%{?suse_version} < 1500 %patch -P 12 -p1 %endif %patch -P 20 -p1 %patch -P 21 -p1 %patch -P 22 -p1 %pom_xpath_remove "pom:profile[pom:id[text()='platform-windows-all']]" desktop/pom.xml %pom_xpath_remove "pom:profile[pom:id[text()='platform-macos-cocoa-64']]" desktop/pom.xml %pom_xpath_remove "pom:profile[pom:id[text()='platform-freebsd-x86_64']]" desktop/pom.xml %pom_xpath_set -r pom:org.eclipse.swt.artifactId org.eclipse.swt desktop/pom.xml %pom_xpath_set -r pom:org.eclipse.swt.artifactId org.eclipse.swt desktop/build-scripts/%{name}-linux-swt-%{bit} %pom_xpath_remove "pom:artifactItem[pom:destFileName[text()='swt.jar']]" desktop/build-scripts/%{name}-linux-swt-%{bit} %pom_remove_dep :org.eclipse.swt.gtk.linux.x86_64 desktop/pom.xml %pom_remove_dep :org.eclipse.swt.win32.win32.x86_64 desktop/pom.xml %pom_remove_dep :org.eclipse.swt.cocoa.macosx.x86_64 desktop/pom.xml %build %{mvn_build} -j -f -- \ -e -f desktop/build-scripts/%{name}-linux-swt-%{bit}/pom.xml \ -Dproject.build.sourceEncoding=UTF-8 -Dnative-modules=true %install %mvn_install # install jnis we built mkdir -p %{buildroot}%{_libdir}/%{name} cp -a desktop/build-scripts/native-modules/*/target/build/lib/*.so %{buildroot}%{_libdir}/%{name}/ # Launch script mkdir -p %{buildroot}/%{_bindir} cat desktop/build-scripts/common-resources/common-linux/tuxguitar.sh | sed 's#@LIBDIR@#%{_libdir}#g' > %{buildroot}/%{_bindir}/%{name} # Fix permissions chmod 755 %{buildroot}/%{_bindir}/%{name} chmod 755 %{buildroot}%{_libdir}/%{name}/*.so # mime types mkdir -p %{buildroot}/%{_datadir}/mime/packages/ cp -a desktop/build-scripts/common-resources/common-linux/share/mime/packages/tuxguitar.xml %{buildroot}/%{_datadir}/mime/packages/ # data files mkdir -p %{buildroot}/%{_datadir}/%{name} cp -a desktop/TuxGuitar/share/* %{buildroot}/%{_datadir}/%{name} cp -a misc/tuxguitar.tg %{buildroot}/%{_datadir}/%{name} cp -a desktop/build-scripts/%{name}-linux-swt-%{bit}/target/%{name}-%{version}-linux-swt-%{bit}/dist/* %{buildroot}/%{_datadir}/%{name} # desktop files install -dm 755 %{buildroot}/%{_datadir}/applications install -pm 644 desktop/build-scripts/common-resources/common-linux/share/applications/tuxguitar.desktop %{buildroot}/%{_datadir}/applications/ # icon install -D -m 644 desktop/build-scripts/common-resources/common-linux/share/pixmaps/tuxguitar.xpm %{buildroot}%{_datadir}/pixmaps/tuxguitar.xpm %suse_update_desktop_file -n -i tuxguitar AudioVideo Music Java # man page mkdir -p %{buildroot}/%{_mandir}/man1 cp -a desktop/build-scripts/common-resources/common-linux/share/man/man1/%{name}.1 %{buildroot}/%{_mandir}/man1/ %fdupes -s %{buildroot} ln -sf %{_jnidir}/%{name}/%{name}-alsa.jar %{buildroot}%{_javadir}/%{name}/ ln -sf %{_jnidir}/%{name}/%{name}-jack.jar %{buildroot}%{_javadir}/%{name}/ %if 0%{?suse_version} >= 1500 ln -sf %{_jnidir}/%{name}/%{name}-fluidsynth.jar %{buildroot}%{_javadir}/%{name}/ %endif %if 0%{?suse_version} > 1500 ln -sf %{_jnidir}/%{name}/%{name}-synth-lv2.jar %{buildroot}%{_javadir}/%{name}/ %endif %files -f .mfiles %license LICENSE %doc AUTHORS CHANGES README.md %{_libdir}/%{name} %{_datadir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/pixmaps/%{name}.xpm %{_datadir}/mime/packages/%{name}.xml %{_bindir}/%{name} %{_mandir}/man1/%{name}.1%{?ext_man} %{_javadir}/%{name}/tuxguitar-alsa.jar %{_javadir}/%{name}/tuxguitar-jack.jar %if 0%{?suse_version} >= 1500 %{_javadir}/%{name}/tuxguitar-fluidsynth.jar %endif %if 0%{?suse_version} > 1500 %{_javadir}/%{name}/tuxguitar-synth-lv2.jar %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor