소스 검색

new package: makepp 1.50.070728 (Make Plus Plus)

Ralf S. Engelschall 18 년 전
부모
커밋
1048cf92eb
2개의 변경된 파일197개의 추가작업 그리고 0개의 파일을 삭제
  1. 101 0
      makepp/makepp.patch
  2. 96 0
      makepp/makepp.spec

+ 101 - 0
makepp/makepp.patch

@@ -0,0 +1,101 @@
+Index: cvs/install.pl
+--- cvs/install.pl.orig	2007-07-21 10:28:58 +0200
++++ cvs/install.pl	2007-07-29 09:55:24 +0200
+@@ -110,11 +110,11 @@
+ }
+ 
+ # prior installation may not have supported .makepp/*.mk files
+--r "$datadir/FileInfo_makepp.pm" and
+-  (stat "$datadir/FileInfo_makepp.pm")[9] < 1102710870 || # check-in time
++-r "$ENV{DESTDIR}$datadir/FileInfo_makepp.pm" and
++  (stat "$ENV{DESTDIR}$datadir/FileInfo_makepp.pm")[9] < 1102710870 || # check-in time
+   do {
+     my $found;
+-    open F, "$datadir/FileInfo_makepp.pm";
++    open F, "$ENV{DESTDIR}$datadir/FileInfo_makepp.pm";
+     while( <F> ) {
+       $found = 1, last if /build_info_subdir.+\.mk/;
+     }
+@@ -160,13 +160,13 @@
+ @sig_num{split ' ', $Config{sig_name}} = split ' ', $Config{sig_num};
+ $USR1 = $sig_num{USR1}; $USR1 = $USR1; 	# suppress used-only-once warning
+ 
+-substitute_file( $_, $bindir, 0755, 1 ) for
++substitute_file( $_, "$ENV{DESTDIR}$bindir", 0755, 1 ) for
+   qw(makepp makeppbuiltin makeppclean makeppgraph makeppinfo makepplog makepp_build_cache_control);
+ 
+-substitute_file( $_, $datadir, 0644 ) for
++substitute_file( $_, "$ENV{DESTDIR}$datadir", 0644 ) for
+   qw(recursive_makepp FileInfo_makepp.pm);
+ 
+-make_dir("$datadir/$_") for
++make_dir("$ENV{DESTDIR}$datadir/$_") for
+   qw(ActionParser BuildCheck CommandParser Scanner Signature);
+ foreach $module (qw(AutomakeFixer BuildCache BuildCacheControl FileInfo Glob MakeEvent
+ 		    Makecmds Makefile Makesubs Rule TextSubs Utils
+@@ -187,13 +187,13 @@
+ 		    Signature Signature/c_compilation_md5 Signature/md5
+ 		    Signature/shared_object Signature/verilog_simulation_md5
+ 		    Signature/verilog_synthesis_md5)) {
+-  copy("$module.pm", "$datadir/$module.pm");
+-  chmod 0644, "$datadir/$module.pm";
++  copy("$module.pm", "$ENV{DESTDIR}$datadir/$module.pm");
++  chmod 0644, "$ENV{DESTDIR}$datadir/$module.pm";
+ }
+ 
+ foreach $include (qw(makepp_builtin_rules makepp_default_makefile)) {
+-  copy("$include.mk", "$datadir/$include.mk");
+-  chmod 0644, "$datadir/$include.mk";
++  copy("$include.mk", "$ENV{DESTDIR}$datadir/$include.mk");
++  chmod 0644, "$ENV{DESTDIR}$datadir/$include.mk";
+ }
+ 
+ #
+@@ -212,11 +212,11 @@
+     my $manfile = $file;
+     $manfile =~ s/\.pod$/.1/;   # Get the name of the man file.
+     $manfile =~ s@^pod/@@;
+-    system("pod2man $file > $mandir/man1/$manfile 2>/dev/null");
++    system("pod2man $file > $ENV{DESTDIR}$mandir/man1/$manfile 2>/dev/null");
+                                 # Ignore stderr because older versions of
+                                 # pod2man (e.g., perl 5.006) don't understand
+                                 # =head3.
+-    chmod 0644, "$mandir/man1/$manfile";
++    chmod 0644, "$ENV{DESTDIR}$mandir/man1/$manfile";
+   }
+ }
+ 
+@@ -383,8 +383,8 @@
+       $nav .= join '<br />', map $link{$_}, @links;
+     }
+     $nav .= '</td></tr></table>';
+-    open my $outfile, ">$htmldir_val/$_" or die "can't create `$htmldir_val/$_'--$!";
+-    chmod 0644, "$htmldir_val/$_";
++    open my $outfile, ">$ENV{DESTDIR}$htmldir_val/$_" or die "can't create `$htmldir_val/$_'--$!";
++    chmod 0644, "$ENV{DESTDIR}$htmldir_val/$_";
+     s/\.html$//;
+     my $title = (s/^makepp(?:_|$)// ? 'Makepp ' : '') . $alias{$_ || 'makepp'};
+     my $index;
+@@ -536,11 +536,11 @@
+   unlink $tmp;
+ 
+   for( qw'google.png makepp.gif makepp.css pre.png sflogo.png url.png' ) {
+-    copy $_, "$htmldir_val/$_";
+-    chmod 0644, "$htmldir_val/$_";
++    copy $_, "$ENV{DESTDIR}$htmldir_val/$_";
++    chmod 0644, "$ENV{DESTDIR}$htmldir_val/$_";
+   }
+ 
+-  symlink 'makepp.html', "$htmldir_val/index.html";
++  symlink 'makepp.html', "$ENV{DESTDIR}$htmldir_val/index.html";
+ }
+ 
+ #
+@@ -633,6 +633,7 @@
+ }
+ 
+ sub read_with_prompt {
++  return undef;
+   local $| = 1;			# Enable autoflush on STDOUT.
+ 
+   print @_;			# Print the prompt.

+ 96 - 0
makepp/makepp.spec

@@ -0,0 +1,96 @@
+##
+##  makepp.spec -- OpenPKG RPM Package Specification
+##  Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
+##  Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/>
+##
+##  Permission to use, copy, modify, and distribute this software for
+##  any purpose with or without fee is hereby granted, provided that
+##  the above copyright notice and this permission notice appear in all
+##  copies.
+##
+##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+##  SUCH DAMAGE.
+##
+
+#   package version
+%define       V_main 1.50
+%define       V_cvs  070728
+
+#   package information
+Name:         makepp
+Summary:      Make Plus Plus
+URL:          http://makepp.sourceforge.net/
+Vendor:       G. Holt, A. Johnson, D. Peiffer
+Packager:     OpenPKG Foundation e.V.
+Distribution: OpenPKG Community
+Class:        EVAL
+Group:        Building
+License:      GPL/Artistic
+Version:      %{V_main}.%{V_cvs}
+Release:      20070729
+
+#   list of sources
+Source0:      http://www.cpan.org/authors/id/P/PF/PFEIFFER/makepp-%{V_main}-cvs-%{V_cvs}.tgz
+Patch0:       makepp.patch
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20060823, perl
+PreReq:       OpenPKG, openpkg >= 20060823, perl, perl-crypto
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    Makepp is a drop-in replacement for GNU make which has a number
+    of features that allow for more reliable builds and simpler build
+    files. It supports almost all of the syntax that GNU make supports,
+    and can be used with makefiles produced by utilities such as
+    automake. It is called makepp (or make++) because it was designed
+    for building C++ programs. Also its relationship to make is supposed
+    to be analogous to C++'s relationship to C: it is almost 100%
+    backward compatible but adds a number of new features.
+
+%track
+    prog makepp = {
+        version   = %{V_main}-cvs-%{V_cvs}
+        url       = http://www.cpan.org/authors/id/P/PF/PFEIFFER/
+        regex     = makepp-(\d+\.\d+(?:\.\d+)?(?:-cvs-(\d+))?)\.tgz
+    }
+
+%prep
+    %setup -q -c
+    %patch -p0
+
+%build
+
+%install
+    rm -rf $RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/bin \
+        $RPM_BUILD_ROOT%{l_prefix}/share/makepp/html \
+        $RPM_BUILD_ROOT%{l_prefix}/man/man1
+    %{l_shtool} subst \
+        -e 's;/usr/local;%{l_prefix};g' \
+        cvs/install.pl
+    ( cd cvs
+      export DESTDIR="$RPM_BUILD_ROOT"
+      %{l_prefix}/bin/perl install.pl
+    ) || exit $?
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+