summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjoerg <joerg>2016-03-22 19:01:17 +0000
committerjoerg <joerg>2016-03-22 19:01:17 +0000
commitf91374b041dc18cd74e13d63b6f00343ba2d6db5 (patch)
tree59f88193b4460ed06d68a4486fb1bd0dd14640cb /lang
parent2d75fdb6e9e9bc06c0f46cdadaff5197fd07105c (diff)
downloadpkgsrc-f91374b041dc18cd74e13d63b6f00343ba2d6db5.tar.gz
Requires Python for build. Fix UB on left shift of negative values.
Diffstat (limited to 'lang')
-rw-r--r--lang/micropython/Makefile12
-rw-r--r--lang/micropython/distinfo7
-rw-r--r--lang/micropython/patches/patch-py_obj.h15
-rw-r--r--lang/micropython/patches/patch-unix_Makefile (renamed from lang/micropython/patches/patch-Makefile)12
-rw-r--r--lang/micropython/patches/patch-unix_mpconfigport.h (renamed from lang/micropython/patches/patch-mpconfigport.h)8
5 files changed, 38 insertions, 16 deletions
diff --git a/lang/micropython/Makefile b/lang/micropython/Makefile
index 8cfe3e44cfc..7e0807865d5 100644
--- a/lang/micropython/Makefile
+++ b/lang/micropython/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2016/01/18 07:54:51 agc Exp $
+# $NetBSD: Makefile,v 1.2 2016/03/22 19:01:17 joerg Exp $
DISTNAME= micropython-1.5.2
CATEGORIES= lang
@@ -10,13 +10,19 @@ HOMEPAGE= https://micropython.org/
COMMENT= Embedded version of python
LICENSE= mit
-WRKSRC= ${WRKDIR}/${DISTNAME}/unix
DIST_SUBDIR= ${PKGNAME_NOREV}
+BUILD_DIRS= unix
USE_TOOLS+= gmake pkg-config
AUTO_MKDIRS= yes
-.include "../../devel/libffi/buildlink3.mk"
+MAKE_FLAGS+= PYTHON=${PYTHONBIN}
+
+REPLACE_PYTHON+= tools/make-frozen.py
+PYTHON_FOR_BUILD_ONLY= yes
+
+.include "../../devel/libffi/buildlink3.mk"
+.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/micropython/distinfo b/lang/micropython/distinfo
index 58a09f64d63..988255f5e93 100644
--- a/lang/micropython/distinfo
+++ b/lang/micropython/distinfo
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.1 2016/01/18 07:54:51 agc Exp $
+$NetBSD: distinfo,v 1.2 2016/03/22 19:01:17 joerg Exp $
SHA1 (micropython-1.5.2/micropython-1.5.2.tar.gz) = 493cf36aa722b50b6034efb8de6433dcea546b0f
RMD160 (micropython-1.5.2/micropython-1.5.2.tar.gz) = 0f5c316ecd716734fe8e1dbdf9a360ef6f126b85
SHA512 (micropython-1.5.2/micropython-1.5.2.tar.gz) = 309dcb20a3369ac5bec92a6a5cd8af37d671fc2a8e3b6a36c4c49d1f4730eaaa46dffb2351eb5783de12f045069554c22ee70c0100cf98ab09138ef42594a65a
Size (micropython-1.5.2/micropython-1.5.2.tar.gz) = 6673101 bytes
-SHA1 (patch-Makefile) = fd7a3c143cd6c4137782b0ed2e1b361e13910364
-SHA1 (patch-mpconfigport.h) = 7cd3b0604f6f7941e5a44d276fd8393ba71b5447
+SHA1 (patch-py_obj.h) = b945ad9b6c2e8dd4631c88b7c3c3d1008fe40fae
+SHA1 (patch-unix_Makefile) = 302b1963bbf36dd7513380bfa34fa9cbf358aeaf
+SHA1 (patch-unix_mpconfigport.h) = beb3b1b94cbb0cb81b24ef956f6f24cd86ca0194
diff --git a/lang/micropython/patches/patch-py_obj.h b/lang/micropython/patches/patch-py_obj.h
new file mode 100644
index 00000000000..6acf8e9b57c
--- /dev/null
+++ b/lang/micropython/patches/patch-py_obj.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-py_obj.h,v 1.1 2016/03/22 19:01:17 joerg Exp $
+
+Avoid Undefined Behavior.
+
+--- py/obj.h.orig 2016-03-02 16:07:50.524241926 +0000
++++ py/obj.h
+@@ -81,7 +81,7 @@ typedef struct _mp_obj_base_t mp_obj_bas
+ static inline bool MP_OBJ_IS_SMALL_INT(mp_const_obj_t o)
+ { return ((((mp_int_t)(o)) & 1) != 0); }
+ #define MP_OBJ_SMALL_INT_VALUE(o) (((mp_int_t)(o)) >> 1)
+-#define MP_OBJ_NEW_SMALL_INT(small_int) ((mp_obj_t)((((mp_int_t)(small_int)) << 1) | 1))
++#define MP_OBJ_NEW_SMALL_INT(small_int) ((mp_obj_t)((((mp_int_t)(small_int)) * 2) | 1))
+
+ static inline bool MP_OBJ_IS_QSTR(mp_const_obj_t o)
+ { return ((((mp_int_t)(o)) & 3) == 2); }
diff --git a/lang/micropython/patches/patch-Makefile b/lang/micropython/patches/patch-unix_Makefile
index 265b5020531..1ea96a9a9bd 100644
--- a/lang/micropython/patches/patch-Makefile
+++ b/lang/micropython/patches/patch-unix_Makefile
@@ -1,10 +1,10 @@
-$NetBSD: patch-Makefile,v 1.1 2016/01/18 07:54:51 agc Exp $
+$NetBSD: patch-unix_Makefile,v 1.1 2016/03/22 19:01:17 joerg Exp $
Invoke gmake properly
---- Makefile 2016/01/09 21:43:06 1.1
-+++ Makefile 2016/01/09 21:51:39
-@@ -149,14 +149,13 @@
+--- unix/Makefile.orig 2015-12-31 14:43:19.000000000 +0000
++++ unix/Makefile
+@@ -149,14 +149,13 @@ test: $(PROG) ../tests/run-tests
# install micropython in /usr/local/bin
TARGET = micropython
@@ -22,7 +22,7 @@ Invoke gmake properly
# uninstall micropython
uninstall:
-@@ -196,12 +195,12 @@
+@@ -196,12 +195,12 @@ $(BUILD)/_frozen_upip.c: $(BUILD)/frozen
../tools/make-frozen.py $(dir $^) > $@
# Select latest upip version available
@@ -37,7 +37,7 @@ Invoke gmake properly
$(Q)rm -rf $(dir $@)
$(Q)mkdir -p $(dir $@)
$(Q)cp $(BUILD)/micropython-upip-*/upip*.py $(dir $@)
-@@ -224,10 +223,10 @@
+@@ -224,10 +223,10 @@ libffi:
cd ../lib/libffi; ./autogen.sh
mkdir -p ../lib/libffi/build_dir; cd ../lib/libffi/build_dir; \
../configure $(CROSS_COMPILE_HOST) --prefix=$$PWD/out CC="$(CC)" CXX="$(CXX)" LD="$(LD)"; \
diff --git a/lang/micropython/patches/patch-mpconfigport.h b/lang/micropython/patches/patch-unix_mpconfigport.h
index 26a676de311..bc689acf6dc 100644
--- a/lang/micropython/patches/patch-mpconfigport.h
+++ b/lang/micropython/patches/patch-unix_mpconfigport.h
@@ -1,10 +1,10 @@
-$NetBSD: patch-mpconfigport.h,v 1.1 2016/01/18 07:54:51 agc Exp $
+$NetBSD: patch-unix_mpconfigport.h,v 1.1 2016/03/22 19:01:17 joerg Exp $
Generalise for all BSDs
---- mpconfigport.h 2016/01/09 20:30:55 1.1
-+++ mpconfigport.h 2016/01/09 20:32:14
-@@ -251,7 +251,8 @@
+--- unix/mpconfigport.h.orig 2015-12-31 14:43:19.000000000 +0000
++++ unix/mpconfigport.h
+@@ -261,7 +261,8 @@ void mp_hal_dupterm_tx_strn(const char *
// We need to provide a declaration/definition of alloca()
// unless support for it is disabled.
#if !defined(MICROPY_NO_ALLOCA) || MICROPY_NO_ALLOCA == 0