mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-visualization/spectromatic: treeclean
Closes: https://bugs.gentoo.org/605796 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
This commit is contained in:
@@ -367,11 +367,6 @@ dev-dotnet/ndesk-dbus-glib
|
||||
dev-go/qr
|
||||
dev-go/twofactor
|
||||
|
||||
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2024-04-18)
|
||||
# Upstream gone, unfetchable, stuck on EAPI 6. Bug 605796
|
||||
# Removal on 2024-05-18
|
||||
sci-visualization/spectromatic
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2024-04-11)
|
||||
# Contains a bug that could render the kernel fail to boot.
|
||||
# https://lore.kernel.org/oe-lkp/202403221630.2692c998-oliver.sang@intel.com/
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
DIST spectromatic_1.0-1.tar.gz 13724 BLAKE2B 91fb44ccdd1b41eb99204f654a02e7cff8e1798916936507a41c6f6d3c5726fe3d1d838d782d21604fdf1e1bd67760336cf41b4e016b10849b9f4cffe405cdf7 SHA512 b83acaacd21f7eb12ee3fd955073e8f95c02649de833a6087cf62786b20d8d1bf9a5b62920c17435510237797c6bc3a378921c4c1c2c4e4f74acbca49becfd6c
|
||||
@@ -1,49 +0,0 @@
|
||||
Respect LDFLAGS, CFLAGS, CC #334715
|
||||
Fix install paths
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,33 +1,29 @@
|
||||
# Makefile for spectromatic
|
||||
|
||||
-CFLAGS = -O2 -Wall
|
||||
-LIBS = -lgsl -lgslcblas -lpng -lm
|
||||
+LIBS = -lpng `${PKG_CONFIG} --libs gsl`
|
||||
DESTDIR =
|
||||
-TOPLEVEL_HOME = /usr
|
||||
+TOPLEVEL_HOME ?= /usr
|
||||
|
||||
-CC = gcc -I.
|
||||
-
|
||||
SRC = spectromatic.c wave.c
|
||||
|
||||
OBJ = $(SRC:.c=.o)
|
||||
|
||||
TARGET = spectromatic
|
||||
|
||||
-install: all
|
||||
- mkdir -p $(DESTDIR)$(TOPLEVEL_HOME)/bin
|
||||
- mkdir -p $(DESTDIR)$(TOPLEVEL_HOME)/man/man1
|
||||
- install -o root -g root -m 0755 spectromatic $(DESTDIR)$(TOPLEVEL_HOME)/bin
|
||||
- install -o root -g root -m 0644 man/spectromatic.1 $(DESTDIR)$(TOPLEVEL_HOME)/man/man1
|
||||
-
|
||||
all: $(OBJ)
|
||||
- $(CC) -o $(TARGET) $(OBJ) $(LIBS)
|
||||
- strip $(TARGET)
|
||||
+ $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $(TARGET)
|
||||
+
|
||||
+install: $(TARGET)
|
||||
+ mkdir -p $(DESTDIR)$(TOPLEVEL_HOME)/bin
|
||||
+ mkdir -p $(DESTDIR)$(TOPLEVEL_HOME)/share/man/man1
|
||||
+ install -m 0755 spectromatic $(DESTDIR)$(TOPLEVEL_HOME)/bin
|
||||
+ install -m 0644 man/spectromatic.1 $(DESTDIR)$(TOPLEVEL_HOME)/share/man/man1
|
||||
|
||||
clean:
|
||||
$(RM) $(TARGET) $(OBJ)
|
||||
|
||||
.c.o:
|
||||
- $(CC) $(CFLAGS) -c $<
|
||||
+ $(CC) $(CFLAGS) -I. -c $<
|
||||
|
||||
.o:
|
||||
$(CC) $< $(LIBS) -o $@
|
||||
@@ -1,78 +0,0 @@
|
||||
diff -ru spectromatic-1.0/spectromatic.c spectromatic-1.0-new/spectromatic.c
|
||||
--- a/spectromatic.c
|
||||
+++ b/spectromatic.c
|
||||
@@ -21,6 +21,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
#include <malloc.h>
|
||||
#include <png.h>
|
||||
#include <string.h>
|
||||
@@ -37,36 +38,36 @@
|
||||
void usage (char *pname)
|
||||
{
|
||||
fprintf (stderr,
|
||||
-"
|
||||
-Usage: %s [options] file.wav
|
||||
-
|
||||
-Options:
|
||||
- --window <size> FFT window size (default: 2048)
|
||||
-
|
||||
- --step <size> Slide the window by <size> samples each time
|
||||
- (default: 200)
|
||||
-
|
||||
- --inverse White/Colour-on-black
|
||||
-
|
||||
- --logarithmic Intensity is calculated by
|
||||
- log10 (1 + 9 * (amplitude / max_amp)) -
|
||||
- better for visualising weaker signals
|
||||
-
|
||||
- --combine XYZ Determines how a stereo signal is
|
||||
- represented as an RGB image. The argument is
|
||||
- a 3-character block, each character
|
||||
- corresponding to R, G and B components. It
|
||||
- may take values of L, R, A, D, X or Z,
|
||||
- meaning Left, Right, Average, Difference,
|
||||
- Cross-Correlation or Zero respectively.
|
||||
-
|
||||
- --verbose Slightly less quiet
|
||||
-
|
||||
- --version Print out the version
|
||||
-
|
||||
- --help You're in it.
|
||||
-
|
||||
-", pname);
|
||||
+"\n"
|
||||
+"Usage: %s [options] file.wav\n"
|
||||
+"\n"
|
||||
+"Options:\n"
|
||||
+" --window <size> FFT window size (default: 2048)\n"
|
||||
+"\n"
|
||||
+" --step <size> Slide the window by <size> samples each time \n"
|
||||
+" (default: 200)\n"
|
||||
+"\n"
|
||||
+" --inverse White/Colour-on-black\n"
|
||||
+"\n"
|
||||
+" --logarithmic Intensity is calculated by\n"
|
||||
+" log10 (1 + 9 * (amplitude / max_amp)) -\n"
|
||||
+" better for visualising weaker signals\n"
|
||||
+"\n"
|
||||
+" --combine XYZ Determines how a stereo signal is\n"
|
||||
+" represented as an RGB image. The argument is\n"
|
||||
+" a 3-character block, each character\n"
|
||||
+" corresponding to R, G and B components. It\n"
|
||||
+" may take values of L, R, A, D, X or Z,\n"
|
||||
+" meaning Left, Right, Average, Difference,\n"
|
||||
+" Cross-Correlation or Zero respectively.\n"
|
||||
+"\n"
|
||||
+" --verbose Slightly less quiet\n"
|
||||
+"\n"
|
||||
+" --version Print out the version\n"
|
||||
+"\n"
|
||||
+" --help You're in it.\n"
|
||||
+"\n"
|
||||
+, pname);
|
||||
|
||||
|
||||
exit (-1);
|
||||
@@ -1,103 +0,0 @@
|
||||
--- a/wave.c
|
||||
+++ b/wave.c
|
||||
@@ -1,11 +1,26 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
+#include <endian.h>
|
||||
#include "wave.h"
|
||||
|
||||
int read_header (FILE *f, waveheaderstruct *header)
|
||||
{
|
||||
+ waveheaderstruct h;
|
||||
fseek (f, 0, SEEK_SET);
|
||||
- return fread (header, 1, sizeof (waveheaderstruct), f);
|
||||
+ size_t red = fread (&h, 1, sizeof (waveheaderstruct), f);
|
||||
+
|
||||
+ h.length = le32toh(h.length);
|
||||
+ h.length_chunk = le32toh(h.length_chunk);
|
||||
+ h.format = le16toh(h.format);
|
||||
+ h.modus = le16toh(h.modus);
|
||||
+ h.sample_fq = le32toh(h.sample_fq);
|
||||
+ h.byte_p_sec = le32toh(h.byte_p_sec);
|
||||
+ h.byte_p_spl = le16toh(h.byte_p_spl);
|
||||
+ h.bit_p_spl = le16toh(h.bit_p_spl);
|
||||
+ h.data_length = le32toh(h.data_length);
|
||||
+
|
||||
+ *header = h;
|
||||
+ return red;
|
||||
}
|
||||
|
||||
int read_frames (FILE *f, int start, int length, char *data)
|
||||
@@ -52,12 +67,12 @@
|
||||
|
||||
read_header (f, &header);
|
||||
|
||||
- printf ("Length: %lu\n", header.length);
|
||||
- printf ("Length Chunk: %lu\n", header.length_chunk);
|
||||
+ printf ("Length: %lu\n", (unsigned long)header.length);
|
||||
+ printf ("Length Chunk: %lu\n", (unsigned long)header.length_chunk);
|
||||
printf ("Format: %u\n", header.format);
|
||||
printf ("Modus: %u\n", header.modus);
|
||||
- printf ("Sample Frequency: %lu\n", header.sample_fq);
|
||||
- printf ("Bytes per Second: %lu\n", header.byte_p_sec);
|
||||
+ printf ("Sample Frequency: %lu\n", (unsigned long)header.sample_fq);
|
||||
+ printf ("Bytes per Second: %lu\n", (unsigned long)header.byte_p_sec);
|
||||
printf ("Bytes per Sample: %u\n", header.byte_p_spl);
|
||||
- printf ("Data Length: %lu\n", header.data_length);
|
||||
+ printf ("Data Length: %lu\n", (unsigned long)header.data_length);
|
||||
}
|
||||
--- a/wave.h
|
||||
+++ b/wave.h
|
||||
@@ -22,24 +22,25 @@
|
||||
#ifndef WAVE_H
|
||||
#define WAVE_H
|
||||
|
||||
-typedef unsigned long ulongT;
|
||||
-typedef unsigned short ushortT;
|
||||
+#include <stdint.h>
|
||||
|
||||
+#pragma pack(push,1)
|
||||
typedef struct { /* header for WAV-Files */
|
||||
- char main_chunk[4]; /* 'RIFF' */
|
||||
- unsigned long length; /* length of file */
|
||||
- char chunk_type[4]; /* 'WAVE' */
|
||||
- char sub_chunk[4]; /* 'fmt' */
|
||||
- unsigned long length_chunk; /* length sub_chunk, always 16 bytes */
|
||||
- unsigned short format; /* always 1 = PCM-Code */
|
||||
- unsigned short modus; /* 1 = Mono, 2 = Stereo */
|
||||
- unsigned long sample_fq; /* Sample Freq */
|
||||
- unsigned long byte_p_sec; /* Data per sec */
|
||||
- unsigned short byte_p_spl; /* Bytes per sample */
|
||||
- unsigned short bit_p_spl; /* bits per sample, 8, 12, 16 */
|
||||
- char data_chunk[4]; /* 'data' */
|
||||
- unsigned long data_length; /* length of data */
|
||||
-} waveheaderstruct;
|
||||
+ uint8_t main_chunk[4]; /* 'RIFF' */
|
||||
+ uint32_t length; /* length of file */
|
||||
+ uint8_t chunk_type[4]; /* 'WAVE' */
|
||||
+ uint8_t sub_chunk[4]; /* 'fmt' */
|
||||
+ uint32_t length_chunk; /* length sub_chunk, always 16 bytes */
|
||||
+ uint16_t format; /* always 1 = PCM-Code */
|
||||
+ uint16_t modus; /* 1 = Mono, 2 = Stereo */
|
||||
+ uint32_t sample_fq; /* Sample Freq */
|
||||
+ uint32_t byte_p_sec; /* Data per sec */
|
||||
+ uint16_t byte_p_spl; /* Bytes per sample */
|
||||
+ uint16_t bit_p_spl; /* bits per sample, 8, 12, 16 */
|
||||
+ uint8_t data_chunk[4]; /* 'data' */
|
||||
+ uint32_t data_length; /* length of data */
|
||||
+} __attribute__ ((__packed__)) waveheaderstruct;
|
||||
+#pragma pack(pop)
|
||||
|
||||
int read_header (FILE *f, waveheaderstruct *header);
|
||||
int read_frames (FILE *f, int start, int length, char *data);
|
||||
--- a/spectromatic.c
|
||||
+++ b/spectromatic.c
|
||||
@@ -217,7 +217,7 @@
|
||||
if (header.modus == 2)
|
||||
ch2 = (double*) malloc (window_size * sizeof (double));
|
||||
|
||||
- fprintf (stderr, "samples = %li, step_size = %i, window_size = %i\n", header.data_length / header.byte_p_spl, step_size, window_size);
|
||||
+ fprintf (stderr, "samples = %lu, step_size = %i, window_size = %i\n", (unsigned long)header.data_length / header.byte_p_spl, step_size, window_size);
|
||||
|
||||
for (i = -window_size; i < window_size + (int)(header.data_length / header.byte_p_spl); i += step_size) {
|
||||
read_frames (f, i, window_size, data);
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>sci@gentoo.org</email>
|
||||
<name>Gentoo Science Project</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Spectromatic is a program for generating spectrograms from audio
|
||||
files. Spectrograms are a form of simple time-frequency analysis which
|
||||
lets you see how the distribution of energy at different frequencies
|
||||
in an audio stream change over time. For example, if you play a scale
|
||||
on a musical instrument, you will see a climbing and/or descending
|
||||
pattern of blobs as you move from left to right.
|
||||
Spectromatic reads its input as mono or stereo 16-bit wave files, and
|
||||
writes the output image to an elongated PNG image (colour for stereo,
|
||||
grayscale for mono audio).
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
@@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
MY_P=${PN}_${PV}-1
|
||||
|
||||
DESCRIPTION="Generates time-frequency analysis images from wav files"
|
||||
HOMEPAGE="http://ieee.uow.edu.au/~daniel/software/spectromatic/"
|
||||
SRC_URI="http://ieee.uow.edu.au/~daniel/software/spectromatic/dist/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
RDEPEND="
|
||||
media-libs/libpng:0=
|
||||
sci-libs/gsl:="
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-makefile.patch
|
||||
"${FILESDIR}"/${P}-stringliteral.patch
|
||||
"${FILESDIR}"/${P}-waveheaderstruct-amd64.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
tc-export CC PKG_CONFIG
|
||||
export TOPLEVEL_HOME="${EPREFIX}/usr"
|
||||
}
|
||||
Reference in New Issue
Block a user