diff --git a/.gitignore b/.gitignore index a980d49..9af9e18 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /AtomicParsley-source-0.9.0.zip +/AtomicParsley-0.9.5.tar.gz diff --git a/AtomicParsley-fix_bad_math.patch b/AtomicParsley-fix_bad_math.patch deleted file mode 100644 index d3acc00..0000000 --- a/AtomicParsley-fix_bad_math.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- AtomicParsley.cpp.orig 2010-07-23 00:42:26.000000000 +0200 -+++ AtomicParsley.cpp 2010-07-23 00:54:36.000000000 +0200 -@@ -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, '.'); -+ const char* orig_suffix = strrchr(originating_file, '.'); - 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); -@@ -4030,21 +4030,21 @@ - //+8 so that 'free' can be accommodated; can't write a 'free' atom of length = 5 - min is 8; OR it disappears entirely - if ( (int)udta_dynamics.max_usable_free_space >= userdata_difference + 8 || - userdata_difference <= -8 || -- ( (int)udta_dynamics.max_usable_free_space >= 8 && -8 < userdata_difference < 0 ) || -+ ( (int)udta_dynamics.max_usable_free_space >= 8 && -8 < userdata_difference && userdata_difference< 0 ) || - (int)udta_dynamics.max_usable_free_space == userdata_difference) { - //fprintf(stdout, "Dynamically update possible: change = %i, free = %i\n", userdata_difference , udta_dynamics.max_usable_free_space); - if (!moov_atom_was_mooved) { //only allow dynamic updating when moov precedes any mdat atoms... - udta_dynamics.dynamic_updating = true; - } else { - //if there is insufficient padding when moov is rearranged to precede mdat, add default padding -- if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) { -+ if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space && udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) { - APar_ForcePadding(pad_prefs.default_padding_size); - } - APar_DetermineAtomLengths(); - return; - } - //fprintf(stdout, "I'm here %u , %u, %i - %i\n", udta_dynamics.max_usable_free_space, pad_prefs.default_padding_size, udta_dynamics.free_atom_repository, udta_dynamics.free_atom_secondary_repository); -- if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) { -+ if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space && udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) { - APar_ForcePadding(pad_prefs.default_padding_size); - } - if (pad_prefs.minimum_required_padding_size > udta_dynamics.max_usable_free_space) { -@@ -4462,7 +4462,7 @@ - #endif - - 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; -+ const char* suffix = NULL; - if (forced_suffix == NULL) { - suffix = strrchr(filePath, '.'); - } else { -@@ -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, '/'); -+ const char* file_name = strrchr(filePath, '/'); - 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, '.'); -+ const char* suffix = strrchr(m4aFile, '.'); - memcpy(originating_file, m4aFile, filename_len+1 ); - memcpy(originating_file + (filename_len - strlen(suffix) ), ".m4b", 5 ); - } diff --git a/AtomicParsley.spec b/AtomicParsley.spec index 5d8d371..581cca6 100644 --- a/AtomicParsley.spec +++ b/AtomicParsley.spec @@ -1,12 +1,14 @@ Summary: Command-line program to read and set MPEG-4 tags compatible with iPod/iTunes URL: http://atomicparsley.sourceforge.net/ Name: AtomicParsley -Version: 0.9.0 -Release: 13%{?dist} +Version: 0.9.5 +Release: 1%{?dist} License: GPLv2+ Group: Applications/Multimedia -Source0: http://downloads.sourceforge.net/project/atomicparsley/atomicparsley/%{name}%20v%{version}/%{name}-source-%{version}.zip -Patch0: %{name}-fix_bad_math.patch +Source0: https://bitbucket.org/wez/atomicparsley/overview/%{name}-%{version}.tar.gz +#Patch0: %{name}-fix_bad_math.patch +BuildRequires: autoconf +BuildRequires: automake @@ -23,37 +25,27 @@ tags and meta-data into MPEG-4 files supporting these styles of meta-data: %prep -# The source zip file includes a top level directory called __MACOSX which doesn't -# get removed by %%clean, so in a multiple RPM build scenario this directory will -# not get removed, making a subsequent RPM build fails in the unzipping process. -# We will (try to) remove this useless leftover directory and the new one that -# will be generated by unzipping right now to avoid problems in subsequent RPM -# builds of the same package and to keep the build directory clean. -rm -rf __MACOSX -%setup -q -n "%{name}-source-%{version}" -rm -rf ../__MACOSX -chmod a-x *.cpp *.h -%patch0 - -sed -i 's/-O2/$OPTFLAGS/g;' build -sed -i 's/g++/$CXX/g;' build -sed -i '1aset -e' build +%setup -q %build -CXX="%__cxx" \ -OPTFLAGS="%{optflags} -Wall -Wno-parentheses -Wno-unused-result -Wno-write-strings -Wno-deprecated -fno-strict-aliasing" \ -./build +./autogen.sh +%configure --prefix=%{_prefix} +#OPTFLAGS="%{optflags} -Wall -Wno-parentheses -Wno-unused-result -Wno-write-strings -Wno-deprecated -fno-strict-aliasing" \ +make %{?_smp_mflags} %install -install -D -m0755 AtomicParsley "%{buildroot}%{_bindir}/AtomicParsley" +make install install DESTDIR=%{buildroot} BINDIR=%{_bindir} +#install -D -m0755 AtomicParsley "%{buildroot}%{_bindir}/AtomicParsley" %files - -%doc COPYING "AP buglist.txt" "Using AtomicParsley.rtf" +%doc COPYING Changes.txt tools/iTunMOVI-1.1.pl %{_bindir}/AtomicParsley %changelog +* Wed Jan 29 2014 Avi Alkalay 0.9.5-1 +- Updated from new upstream on https://bitbucket.org/wez/atomicparsley + * Tue Jan 28 2014 Avi Alkalay 0.9.0-13 - Reduced warnings - Adapted SPEC to build on Fedora 20 diff --git a/sources b/sources index 54349f7..c7bab08 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -681e6ecec2921c98e07a9262bdcd6cf2 AtomicParsley-source-0.9.0.zip +523289cca4a584614c38249052ed12f5 AtomicParsley-0.9.5.tar.gz