New package: AtomicParsley
This commit is contained in:
parent
fe8072ee7f
commit
cbc648f462
38
pkgs/tools/video/atomicparsley/casts.patch
Normal file
38
pkgs/tools/video/atomicparsley/casts.patch
Normal file
@ -0,0 +1,38 @@
|
||||
--- AtomicParsley-source-0.9.0/AtomicParsley.cpp.orig 2015-03-13 15:38:16.817904490 -0600
|
||||
+++ AtomicParsley-source-0.9.0/AtomicParsley.cpp 2015-03-13 15:48:07.595273416 -0600
|
||||
@@ -1447,7 +1447,7 @@
|
||||
uint32_t atom_offsets = 0;
|
||||
char* uuid_outfile = (char*)calloc(1, sizeof(char)*MAXPATHLEN+1); //malloc a new string because it may be a cli arg for a specific output path
|
||||
if (output_path == NULL) {
|
||||
- char* orig_suffix = strrchr(originating_file, '.');
|
||||
+ char* orig_suffix = strrchr((char*)originating_file, (int)'.');
|
||||
if (orig_suffix == NULL) {
|
||||
fprintf(stdout, "AP warning: a file extension for the input file was not found.\n\tGlobbing onto original filename...\n");
|
||||
path_len = strlen(originating_file);
|
||||
@@ -4464,7 +4464,7 @@
|
||||
void APar_DeriveNewPath(const char *filePath, char* temp_path, int output_type, const char* file_kind, char* forced_suffix, bool random_filename = true) {
|
||||
char* suffix = NULL;
|
||||
if (forced_suffix == NULL) {
|
||||
- suffix = strrchr(filePath, '.');
|
||||
+ suffix = strrchr((char*)filePath, (int)'.');
|
||||
} else {
|
||||
suffix = forced_suffix;
|
||||
}
|
||||
@@ -4480,7 +4480,7 @@
|
||||
memcpy(temp_path, filePath, base_len);
|
||||
memcpy(temp_path + base_len, file_kind, strlen(file_kind));
|
||||
#else
|
||||
- char* file_name = strrchr(filePath, '/');
|
||||
+ char* file_name = strrchr((char*)filePath, (int)'/');
|
||||
size_t file_name_len = strlen(file_name);
|
||||
memcpy(temp_path, filePath, filepath_len-file_name_len+1);
|
||||
memcpy(temp_path + strlen(temp_path), ".", 1);
|
||||
@@ -5006,7 +5006,7 @@
|
||||
free_modified_name = true;
|
||||
if (forced_suffix_type == FORCE_M4B_TYPE) { //using --stik Audiobook with --overWrite will change the original file's extension
|
||||
uint16_t filename_len = strlen(m4aFile);
|
||||
- char* suffix = strrchr(m4aFile, '.');
|
||||
+ char* suffix = strrchr((char*)m4aFile, (int)'.');
|
||||
memcpy(originating_file, m4aFile, filename_len+1 );
|
||||
memcpy(originating_file + (filename_len - strlen(suffix) ), ".m4b", 5 );
|
||||
}
|
29
pkgs/tools/video/atomicparsley/default.nix
Normal file
29
pkgs/tools/video/atomicparsley/default.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv, pkgs, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "AtomicParsley";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/atomicparsley/${name}-source-${version}.zip";
|
||||
sha256 = "de83f219f95e6fe59099b277e3ced86f0430ad9468e845783092821dff15a72e";
|
||||
};
|
||||
|
||||
buildInputs = with pkgs; [ unzip ];
|
||||
patches = [ ./casts.patch ];
|
||||
setSourceRoot = "sourceRoot=${name}-source-${version}";
|
||||
buildPhase = "bash build";
|
||||
installPhase = "install -D AtomicParsley $out/bin/AtomicParsley";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = ''
|
||||
A lightweight command line program for reading, parsing and
|
||||
setting metadata into MPEG-4 files
|
||||
'';
|
||||
|
||||
homepage = http://atomicparsley.sourceforge.net/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ pjones ];
|
||||
};
|
||||
}
|
@ -536,6 +536,8 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
atomicparsley = callPackage ../tools/video/atomicparsley { };
|
||||
|
||||
attic = callPackage ../tools/backup/attic { };
|
||||
|
||||
avfs = callPackage ../tools/filesystems/avfs { };
|
||||
|
Loading…
Reference in New Issue
Block a user