diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-visualization/spectromatic | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-visualization/spectromatic')
6 files changed, 288 insertions, 0 deletions
diff --git a/sci-visualization/spectromatic/Manifest b/sci-visualization/spectromatic/Manifest new file mode 100644 index 000000000000..885e46568eb9 --- /dev/null +++ b/sci-visualization/spectromatic/Manifest @@ -0,0 +1 @@ +DIST spectromatic_1.0-1.tar.gz 13724 SHA256 5ed057c6c37cc7c5a6a1c8975cb0a74085baa8b18467f4643d40c0986fc45fd4 SHA512 b83acaacd21f7eb12ee3fd955073e8f95c02649de833a6087cf62786b20d8d1bf9a5b62920c17435510237797c6bc3a378921c4c1c2c4e4f74acbca49becfd6c WHIRLPOOL e724a8159624979980241f14bd72010431ad3c51382b9f29a2b5676b3e0585db2dbcb5341fb1fe599706024ece95d290a6aabd6aa5ac64e837640cdaf52a90fe diff --git a/sci-visualization/spectromatic/files/spectromatic-1.0-makefile.patch b/sci-visualization/spectromatic/files/spectromatic-1.0-makefile.patch new file mode 100644 index 000000000000..48f9d9023358 --- /dev/null +++ b/sci-visualization/spectromatic/files/spectromatic-1.0-makefile.patch @@ -0,0 +1,49 @@ +Respect LDFLAGS, CFLAGS, CC #334715 +Fix install paths + +--- Makefile ++++ 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 $@ diff --git a/sci-visualization/spectromatic/files/spectromatic-1.0-stringliteral.patch b/sci-visualization/spectromatic/files/spectromatic-1.0-stringliteral.patch new file mode 100644 index 000000000000..2d18f01b216a --- /dev/null +++ b/sci-visualization/spectromatic/files/spectromatic-1.0-stringliteral.patch @@ -0,0 +1,78 @@ +diff -ru spectromatic-1.0/spectromatic.c spectromatic-1.0-new/spectromatic.c +--- spectromatic-1.0/spectromatic.c 2002-03-30 06:17:34.000000000 +0100 ++++ spectromatic-1.0-new/spectromatic.c 2004-07-02 21:25:49.485524639 +0200 +@@ -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); diff --git a/sci-visualization/spectromatic/files/spectromatic-1.0-waveheaderstruct-amd64.patch b/sci-visualization/spectromatic/files/spectromatic-1.0-waveheaderstruct-amd64.patch new file mode 100644 index 000000000000..edfb7af8c4b3 --- /dev/null +++ b/sci-visualization/spectromatic/files/spectromatic-1.0-waveheaderstruct-amd64.patch @@ -0,0 +1,103 @@ +--- wave.c.orig 2012-08-06 18:54:21.829756875 -0700 ++++ wave.c 2012-08-06 19:04:35.818049655 -0700 +@@ -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); + } +--- wave.h.orig 2012-08-06 18:55:38.009165756 -0700 ++++ wave.h 2012-08-06 18:55:50.377232324 -0700 +@@ -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); +--- spectromatic.c.orig 2012-08-06 18:54:05.260668605 -0700 ++++ spectromatic.c 2012-08-06 19:28:18.637679446 -0700 +@@ -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); diff --git a/sci-visualization/spectromatic/metadata.xml b/sci-visualization/spectromatic/metadata.xml new file mode 100644 index 000000000000..df3ad6ba7d06 --- /dev/null +++ b/sci-visualization/spectromatic/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>sci</herd> + <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> diff --git a/sci-visualization/spectromatic/spectromatic-1.0-r2.ebuild b/sci-visualization/spectromatic/spectromatic-1.0-r2.ebuild new file mode 100644 index 000000000000..0dcd9f0e1a1e --- /dev/null +++ b/sci-visualization/spectromatic/spectromatic-1.0-r2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils 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" +IUSE="" + +RDEPEND=" + media-libs/libpng:0 + sci-libs/gsl" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +DOCS=( README ) + +PATCHES=( + "${FILESDIR}"/${P}-makefile.patch + "${FILESDIR}"/${P}-stringliteral.patch + "${FILESDIR}"/${P}-waveheaderstruct-amd64.patch +) + +pkg_setup() { + tc-export CC + export TOPLEVEL_HOME="${EROOT}/usr" +} + +src_prepare() { + epatch ${PATCHES[@]} +} |