rpms/nekovm/devel import.log, NONE, 1.1 nekovm-libmysqlclient.so.patch, NONE, 1.1 nekovm-library-paths.patch, NONE, 1.1 nekovm-ndll-paths.patch, NONE, 1.1 nekovm-no-apache.patch, NONE, 1.1 nekovm-no-mod_tora.patch, NONE, 1.1 nekovm-set-soname.patch, NONE, 1.1 nekovm.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Richard W.M. Jones rjones at fedoraproject.org
Thu Dec 18 10:24:06 UTC 2008


Author: rjones

Update of /cvs/pkgs/rpms/nekovm/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18868/devel

Modified Files:
	.cvsignore sources 
Added Files:
	import.log nekovm-libmysqlclient.so.patch 
	nekovm-library-paths.patch nekovm-ndll-paths.patch 
	nekovm-no-apache.patch nekovm-no-mod_tora.patch 
	nekovm-set-soname.patch nekovm.spec 
Log Message:
Initial import.



--- NEW FILE import.log ---
nekovm-1_8_0-2_fc10:HEAD:nekovm-1.8.0-2.fc10.src.rpm:1229595529

nekovm-libmysqlclient.so.patch:

--- NEW FILE nekovm-libmysqlclient.so.patch ---
--- neko-1.7.1.orig/src/tools/install.neko	2008-09-02 10:15:23.000000000 +0100
+++ neko-1.7.1/src/tools/install.neko	2008-09-02 10:20:57.000000000 +0100
@@ -56,7 +56,7 @@
 		src => $array("mysql"),
 		inc => "mysql.h",
 		incname => "MySQL 4.+"
-		lib => "libmysqlclient_r.a",
+		lib => "libmysqlclient_r.so",
 		lparams => "-lz -lssl"
 	},
 	regexp => {

nekovm-library-paths.patch:

--- NEW FILE nekovm-library-paths.patch ---
--- neko-1.7.1.orig/src/tools/install.neko	2008-09-02 10:15:23.000000000 +0100
+++ neko-1.7.1/src/tools/install.neko	2008-09-02 10:18:08.000000000 +0100
@@ -141,6 +141,8 @@
 
 libraries = $array(
 	"../../libs/include",
+	"/usr/lib64",
+	"/usr/lib64/mysql",
 	"/usr/lib",
 	"/usr/lib/mysql",
 	"/usr/local/lib",

nekovm-ndll-paths.patch:

--- NEW FILE nekovm-ndll-paths.patch ---
--- neko-1.8.0/vm/load.c.old	2008-12-16 15:14:41.000000000 +0000
+++ neko-1.8.0/vm/load.c	2008-12-16 15:15:00.000000000 +0000
@@ -279,7 +279,7 @@
 	}
 #else
 	if( path == NULL ) {
-		allocated = strdup("/usr/local/lib/neko:/usr/lib/neko:/usr/local/bin:/usr/bin");
+		allocated = strdup("/usr/local/lib/neko:/usr/lib64/neko:/usr/lib/neko:/usr/local/bin:/usr/bin");
 		path = allocated;
 	}
 #endif

nekovm-no-apache.patch:

--- NEW FILE nekovm-no-apache.patch ---
--- neko-1.7.1/src/tools/install.neko.orig	2008-07-28 08:19:37.000000000 +0100
+++ neko-1.7.1/src/tools/install.neko	2008-08-31 14:49:29.000000000 +0100
@@ -39,6 +39,7 @@
 // LIBS DATAS
 
 libs = {
+/*
 	mod_neko => {
 		src => $array("mod_neko","cgi","../../vm/stats"),
 		inc => "httpd.h",
@@ -50,6 +51,7 @@
                realdir => "mod_neko",
                apache2 => true,
 	},
+*/
 	mysql => {
 		src => $array("mysql"),
 		inc => "mysql.h",

nekovm-no-mod_tora.patch:

--- NEW FILE nekovm-no-mod_tora.patch ---
--- neko-1.8.0/src/tools/install.neko.orig	2008-12-16 14:36:00.000000000 +0000
+++ neko-1.8.0/src/tools/install.neko	2008-12-16 14:36:10.000000000 +0000
@@ -86,6 +86,7 @@
 		cflags => switch system { "Mac" => "" default => "`pkg-config --cflags gtk+-2.0`" },
 		lparams => switch system { "Mac" => "-framework Carbon" default => "`pkg-config --libs gtk+-2.0` -lgthread-2.0" },
 	},
+/*
 	mod_tora => {
 		src => $array("mod_tora","protocol"),
 		inc => "httpd.h",
@@ -99,6 +100,7 @@
 		realdir => "mod_tora",
 		apache2 => true,
 	},
+*/
 }
 
 // PLATFORM

nekovm-set-soname.patch:

--- NEW FILE nekovm-set-soname.patch ---
--- neko-1.8.0/Makefile.orig	2008-12-16 14:56:10.000000000 +0000
+++ neko-1.8.0/Makefile	2008-12-16 14:56:40.000000000 +0000
@@ -117,7 +117,8 @@
 	(cd src; ${NEKO_EXEC} nekoc -link ../boot/nekoml.n nekoml/Main)
 
 bin/${LIBNEKO_NAME}: ${LIBNEKO_OBJECTS}
-	${MAKESO} ${EXTFLAGS} -o $@ ${LIBNEKO_OBJECTS} ${LIBNEKO_LIBS}
+	${MAKESO} -Wl,-soname,libneko.so.1 ${EXTFLAGS} -o $@ ${LIBNEKO_OBJECTS} ${LIBNEKO_LIBS}
+	cd bin && ln -s libneko.so libneko.so.1
 
 bin/neko: $(VM_OBJECTS)
 	${CC} ${CFLAGS} ${EXTFLAGS} -o $@ ${VM_OBJECTS} ${NEKOVM_FLAGS}
@@ -135,7 +135,7 @@
 	rm -rf bin/mtypes bin/tools
 
 install:
-	cp bin/${LIBNEKO_NAME} ${INSTALL_PREFIX}/lib
+	cp bin/${LIBNEKO_NAME} bin/libneko.so.1 ${INSTALL_PREFIX}/lib
 	cp bin/neko bin/nekoc bin/nekotools bin/nekoml bin/nekoml.std ${INSTALL_PREFIX}/bin
 	-mkdir ${INSTALL_PREFIX}/lib/neko
 	cp bin/*.ndll ${INSTALL_PREFIX}/lib/neko


--- NEW FILE nekovm.spec ---
# Prevent RPM from stripping the binaries, which breaks them:
%define __strip /bin/true

%define _default_patch_fuzz 2

Name:           nekovm
Version:        1.8.0
Release:        2%{?dist}
Summary:        Neko embedded scripting language and virtual machine

Group:          Development/Libraries
License:        LGPLv2+
URL:            http://nekovm.org/
Source0:        http://nekovm.org/_media/neko-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# Disable the Apache and mod_tora packages for now.
Patch0:         nekovm-no-apache.patch
Patch1:         nekovm-no-mod_tora.patch

# Search /usr/lib64 for libraries.
Patch2:         nekovm-library-paths.patch

# Search /usr/lib64/neko for NDLL files.  (XXX only on x86-64?)
Patch3:         nekovm-ndll-paths.patch

# Link against libmysqlclient.so, not .a
Patch4:         nekovm-libmysqlclient.so.patch

# Set the soname correctly on the shared library.
Patch5:         nekovm-set-soname.patch

BuildRequires:  gc-devel
BuildRequires:  pcre-devel
BuildRequires:  gtk2-devel
BuildRequires:  mysql-devel
BuildRequires:  sqlite-devel >= 3
BuildRequires:  dos2unix


%description
Neko is a high-level dynamically typed programming language which can
also be used as an embedded scripting language. It has been designed
to provide a common runtime for several different languages. Neko is
not only very easy to learn and use, but also has the flexibility of
being able to extend the language with C libraries. You can even write
generators from your own language to Neko and then use the Neko
Runtime to compile, run, and access existing libraries.

If you need to add a scripting language to your application, Neko
provides one of the best tradeoffs available between simplicity,
extensibility and speed.

Neko allows the language designer to focus on design whilst reusing a
fast and well constructed runtime, as well as existing libraries for
accessing filesystem, network, databases, xml...

Neko has a compiler and virtual machine. The Virtual Machine is both
very lightweight and extremely well optimised so that it can run very
quickly. The VM can be easily embedded into any application and your
libraries are directly accessible using the C foreign function
interface.

The compiler converts a source .neko file into a bytecode .n file that
can be executed with the Virtual Machine. Although the compiler is
written in Neko itself, it is still very fast. You can use the
compiler as standalone commandline executable separated from the VM,
or as a Neko library to perform compile-and-run for interactive
languages.

Note that the Fedora package does not yet include the Apache modules
(mod_neko and mod_tora) owing to the difficulty in getting them to
compile.


%package        devel
Summary:        Development files for %{name}
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}


%description    devel
The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}.


%prep
%setup -q -n neko-%{version}

for f in CHANGES LICENSE `find -name '*.[ch]' -o -name 'install.neko'`; do
  dos2unix --keepdate $f
  chmod -x $f
done

%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1


%build
# Avoid a compiler stack-overflow when building on 64 bit.
ulimit -s unlimited
# Add the RPM CFLAGS.  Note you need to look at neko's Makefile to
# find the rest of the flags.
make CFLAGS="$RPM_OPT_FLAGS -fPIC -I vm -D_GNU_SOURCE"


%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT%{_includedir}

make INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} install

# Put the lib files in the Fedora _libdir:
if [ %{_prefix}/lib != %{_libdir} ]; then
  mv $RPM_BUILD_ROOT%{_prefix}/lib/* $RPM_BUILD_ROOT%{_libdir}
  rmdir $RPM_BUILD_ROOT%{_prefix}/lib
fi

# Stop prelink from stripping the binaries - they contain bytecode.
mkdir -p $RPM_BUILD_ROOT/etc/prelink.conf.d
echo '-b /usr/bin/neko*' > $RPM_BUILD_ROOT/etc/prelink.conf.d/nekovm.conf

# Remove nekoml.std - what's it for?
rm $RPM_BUILD_ROOT%{_bindir}/nekoml.std


%clean
rm -rf $RPM_BUILD_ROOT


%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/neko
%{_bindir}/nekoc
%{_bindir}/nekoml
#{_bindir}/nekoml.std
%{_bindir}/nekotools
%{_libdir}/libneko.so
%{_libdir}/libneko.so.1
%{_libdir}/neko/
%config(noreplace) /etc/prelink.conf.d/nekovm.conf


%files devel
%defattr(-,root,root,-)
%doc CHANGES
%{_includedir}/*.h


%changelog
* Tue Dec 16 2008 Richard W.M. Jones <rjones at redhat.com> - 1.8.0-2
- New upstream release 1.8.0.
- Use dos2unix --keepdate.
- Use scriptlets to run ldconfig.
- Use _libdir instead of _prefix/lib.
- Set the soname correctly and include libneko.so.1.

* Wed Sep  3 2008 Richard W.M. Jones <rjones at redhat.com> - 1.7.1-7
- prelink conf file DOESN'T use prefixes, need to use a glob instead.

* Tue Sep  2 2008 Richard W.M. Jones <rjones at redhat.com> - 1.7.1-6
- BR sqlite-devel
- Remove DOS line-endings and executable bits from the source.
- Add RPM CFLAGS.
- *.ndll files are always installed in /usr/lib/neko (even on 64 bit).
- Search /usr/lib64 directory for libraries when building.
- When building, link against libmysqlclient.so (not .a).
- Avoid a compiler stack overflow when building on 64 bit.
- Stop prelink from stripping the binaries.

* Mon Sep  1 2008 Richard W.M. Jones <rjones at redhat.com> - 1.7.1-3
- Better way to strip the binaries.

* Sun Aug 31 2008 Richard W.M. Jones <rjones at redhat.com> - 1.7.1-2
- Initial RPM release.


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/nekovm/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	17 Dec 2008 21:53:18 -0000	1.1
+++ .cvsignore	18 Dec 2008 10:24:05 -0000	1.2
@@ -0,0 +1 @@
+neko-1.8.0.tar.gz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/nekovm/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	17 Dec 2008 21:53:18 -0000	1.1
+++ sources	18 Dec 2008 10:24:06 -0000	1.2
@@ -0,0 +1 @@
+b41da79e6f976818ab64805e9ba7298c  neko-1.8.0.tar.gz




More information about the fedora-extras-commits mailing list