> Here's a patch to update gprolog (which is currently marked as being i386 > only and BROKEN) to the latest version. This was tested on amd64 and > seemed to work for a few prolog test cases I fed through. >
And here's a small update to my patch which includes Nuno's changes from Feb 2009 that were left out accidentally. Index: Makefile =================================================================== RCS file: /usr/cvs/ports/lang/gprolog/Makefile,v retrieving revision 1.8 diff -u -r1.8 Makefile --- Makefile 16 Sep 2007 00:27:05 -0000 1.8 +++ Makefile 20 Dec 2009 05:09:50 -0000 @@ -1,48 +1,50 @@ # $OpenBSD: Makefile,v 1.8 2007/09/16 00:27:05 merdely Exp $ -BROKEN= does not handle randomized mmap() -ONLY_FOR_ARCHS= i386 +ONLY_FOR_ARCHS= i386 amd64 COMMENT= Prolog compiler -DISTNAME= gprolog-1.2.16 -PKGNAME= ${DISTNAME}p0 +DISTNAME= gprolog-1.3.1 CATEGORIES= lang -HOMEPAGE= http://gprolog.inria.fr/ +HOMEPAGE= http://www.gprolog.org/ -MAINTAINER= Nuno Morgadinho <nmorgadi...@openbsd-pt.org> +MAINTAINER= Nuno Morgadinho <nuno.morgadi...@gmail.com> -# GPL +# GPLv2 PERMIT_PACKAGE_CDROM= Yes PERMIT_PACKAGE_FTP= Yes PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes + WANTLIB= c m MASTER_SITES= ${MASTER_SITE_GNU:=gprolog/} -AUTOCONF_VERSION= 2.52 +AUTOCONF_VERSION= 2.61 CONFIGURE_STYLE= autoconf dest no-autoheader -CONFIGURE_ARGS+= --with-install-dir='$${DESTDIR}${PREFIX}/libdata/gprolog' \ +CONFIGURE_ARGS+= --with-install-dir='${PREFIX}/libdata/gprolog' \ --without-links-dir \ --disable-ebp \ --disable-piped-consult \ --disable-gui-console \ - --with-examples-dir='$${DESTDIR}${PREFIX}/share/examples/gprolog' \ - --with-html-dir='$${DESTDIR}${PREFIX}/share/doc/gprolog/html' \ - --with-doc-dir='$${DESTDIR}${PREFIX}/share/doc/gprolog' + --with-examples-dir='${PREFIX}/share/examples/gprolog' \ + --with-html-dir='${PREFIX}/share/doc/gprolog/html' \ + --with-doc-dir='${PREFIX}/share/doc/gprolog' + +MODULES+= gcc4 +MODGCC4_ARCHES= * +MODGCC4_LANGS= c WRKDIST= ${WRKDIR}/${DISTNAME}/src -INSTALL_TARGET= install-strip +REGRESS_DEPENDS= ::textproc/gdiff post-install: for i in gplc hexgplc gprolog pl2wam wam2ma ma2asm fd2c; do \ ln -sf ${TRUEPREFIX}/libdata/gprolog/bin/$$i ${PREFIX}/bin/$$i; \ done - .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /usr/cvs/ports/lang/gprolog/distinfo,v retrieving revision 1.3 diff -u -r1.3 distinfo --- distinfo 5 Apr 2007 16:20:00 -0000 1.3 +++ distinfo 20 Dec 2009 05:02:18 -0000 @@ -1,5 +1,5 @@ -MD5 (gprolog-1.2.16.tar.gz) = 1/6HEGzT5+dwN18E3Q0Uwg== -RMD160 (gprolog-1.2.16.tar.gz) = 8VxiFPb/kF1svhXuEsv/mi3ZOfk= -SHA1 (gprolog-1.2.16.tar.gz) = EoBx/2QL44eCuUMhh2LgnvAofcY= -SHA256 (gprolog-1.2.16.tar.gz) = vBjbT4+ovANLCEuhbQyMWny9tl2TRpF+kJg9g8YjYxY= -SIZE (gprolog-1.2.16.tar.gz) = 2478633 +MD5 (gprolog-1.3.1.tar.gz) = y64Zwx4XvPyktX/jXsSrog== +RMD160 (gprolog-1.3.1.tar.gz) = +UL4LkA0pZ/QvFJ2VChyN119yAE= +SHA1 (gprolog-1.3.1.tar.gz) = 0pEoR3JaDZF8aTfJQCvMIQcrGnM= +SHA256 (gprolog-1.3.1.tar.gz) = PDMVm50jRkegbniHDBSgUY1qKl+F25BjYHd/6z2YwxY= +SIZE (gprolog-1.3.1.tar.gz) = 2949369 Index: patches/patch-EnginePl_Makefile_in =================================================================== RCS file: patches/patch-EnginePl_Makefile_in diff -N patches/patch-EnginePl_Makefile_in --- patches/patch-EnginePl_Makefile_in 26 Sep 2004 14:48:29 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-EnginePl_Makefile_in,v 1.1.1.1 2004/09/26 14:48:29 espie Exp $ ---- EnginePl/Makefile.in.orig Sun Sep 26 16:45:00 2004 -+++ EnginePl/Makefile.in Sun Sep 26 16:45:21 2004 -@@ -55,7 +55,7 @@ cpp_head...@exe_suffix@: cpp_headers.c - - - $(TOP_LEVEL).h: headers.h cpp_headers -- D=`(cd ..;for i in *;do test -d $$i && X="$$X $(ROOT_DIR1)/src/$$i";done;echo $$X)`; ./cpp_headers headers.h $(TOP_LEVEL).h $$D -+ D=`(cd ..;set +e; for i in *;do test -d $$i && X="$$X $(ROOT_DIR1)/src/$$i";done;echo $$X)`; ./cpp_headers headers.h $(TOP_LEVEL).h $$D - - - # General core Index: patches/patch-EnginePl_obj_chain_h =================================================================== RCS file: patches/patch-EnginePl_obj_chain_h diff -N patches/patch-EnginePl_obj_chain_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-EnginePl_obj_chain_h 20 Dec 2009 04:59:49 -0000 @@ -0,0 +1,11 @@ +$OpenBSD$ +--- EnginePl/obj_chain.h.orig Wed May 9 03:20:35 2007 ++++ EnginePl/obj_chain.h Wed May 9 03:21:54 2007 +@@ -84,6 +84,6 @@ static long obj_chain_start = (long) OBJ_CTOR; + + + +-#if defined(_MSC_VER) || defined(M_ix86_darwin) ++#if defined(_MSC_VER) || defined(M_ix86_darwin) || defined(__OpenBSD__) + #define OBJ_CHAIN_REVERSE_ORDER + #endif Index: patches/patch-Ma2Asm_Makefile_in =================================================================== RCS file: patches/patch-Ma2Asm_Makefile_in diff -N patches/patch-Ma2Asm_Makefile_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Ma2Asm_Makefile_in 20 Dec 2009 04:59:49 -0000 @@ -0,0 +1,20 @@ +$OpenBSD$ +--- Ma2Asm/Makefile.in.orig Thu Jan 4 10:21:48 2007 ++++ Ma2Asm/Makefile.in Fri Jun 13 22:36:35 2008 +@@ -53,14 +53,14 @@ chkma_objs=ch...@obj_suffix@ chkma...@obj_suffix@ ../E + + ch...@obj_suffix@: chkma.c + if [ "$$FC" = "Y" ]; then FCFLAGS='-DFAST'; fi; \ +- $(GPLC) --c-compiler "$(CC)" -C "$(CFLAGS) $$FCFLAGS" -c chkma.c ++ export PL_PATH=$(PWD)/../ ; ../TopComp/$(GPLC) --c-compiler "$(CC)" -C "$(CFLAGS) $$FCFLAGS" -c chkma.c + + chkma...@asm_suffix@: chkma_ma.ma ma2...@exe_suffix@ + if [ "$$FC" != "Y" ]; then MAFLAGS='--ignore-fast'; fi; \ + ./ma2asm --comment $$MAFLAGS chkma_ma.ma + + chkma...@obj_suffix@: chkma...@asm_suffix@ +- $(GPLC) -c chkma...@asm_suffix@ ++ export PL_PATH=$(PWD)/../ ;../TopComp/$(GPLC) -c chkma...@asm_suffix@ + + ch...@exe_suffix@: $(CHKMA_OBJS) + $(CC) $(CFLAGS) @cc_exe_name_...@chkma@EXE_SUFFIX@ $(CHKMA_OBJS) Index: patches/patch-Ma2Asm_ix86_any_c =================================================================== RCS file: patches/patch-Ma2Asm_ix86_any_c diff -N patches/patch-Ma2Asm_ix86_any_c --- patches/patch-Ma2Asm_ix86_any_c 26 Sep 2004 14:48:29 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-Ma2Asm_ix86_any_c,v 1.1.1.1 2004/09/26 14:48:29 espie Exp $ ---- Ma2Asm/ix86_any.c.orig 2003-10-31 22:33:09.000000000 +0000 -+++ Ma2Asm/ix86_any.c 2003-10-31 22:33:28.000000000 +0000 -@@ -38,7 +38,7 @@ - - #define MAX_C_ARGS_IN_C_CODE 32 - --#if (defined(M_ix86_cygwin) || defined(M_ix86_bsd)) && !defined(__FreeBSD__) -+#if (defined(M_ix86_cygwin) || defined(M_ix86_bsd)) && !defined(__FreeBSD__) && !defined(__OpenBSD__) - - #define UN "_" - Index: patches/patch-Makefile_in =================================================================== RCS file: patches/patch-Makefile_in diff -N patches/patch-Makefile_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Makefile_in 20 Dec 2009 05:08:07 -0000 @@ -0,0 +1,19 @@ +$OpenBSD$ +--- Makefile.in.orig Thu Jan 4 05:21:49 2007 ++++ Makefile.in Fri Jun 13 19:37:59 2008 +@@ -79,13 +79,13 @@ uninstall: uninstall-links uninstall-html uninstall-do + # --- Links --- # + + install-links: uninstall-links +- if test $(LINKS_DIR) != none; then \ ++ if test $(LINKS_DIR) != $(DESTDIR)none; then \ + ./mkinstalldirs $(LINKS_DIR); \ + (cd $(LINKS_DIR) ; $(LN_S) $(INSTALL_DIR)/bin/* .); \ + fi + + uninstall-links: +- -if test $(LINKS_DIR) != none; then \ ++ -if test $(LINKS_DIR) != $(DESTDIR)none; then \ + (cd $(LINKS_DIR) 2>/dev/null && rm -f $(BIN_FILES)); \ + rmdir $(LINKS_DIR) 2>/dev/null; \ + fi || exit 0; Index: patches/patch-Pl2Wam_check_boot =================================================================== RCS file: patches/patch-Pl2Wam_check_boot diff -N patches/patch-Pl2Wam_check_boot --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Pl2Wam_check_boot 20 Dec 2009 04:59:49 -0000 @@ -0,0 +1,11 @@ +$OpenBSD$ +--- Pl2Wam/check_boot.orig Fri Jun 13 19:14:04 2008 ++++ Pl2Wam/check_boot Fri Jun 13 19:13:43 2008 +@@ -1,6 +1,6 @@ + #!/bin/sh + do_diff() { +- diff --ignore-space-change -I '^%' -I '^file_name(' $1 $2 || \ ++ gdiff --ignore-space-change -I '^%' -I '^file_name(' $1 $2 || \ + ( echo "difference encountered: $1 <> $2"; exit 1 ) + } + Index: patches/patch-SETVARS =================================================================== RCS file: patches/patch-SETVARS diff -N patches/patch-SETVARS --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-SETVARS 20 Dec 2009 04:59:49 -0000 @@ -0,0 +1,8 @@ +$OpenBSD$ +--- SETVARS.orig Wed May 9 03:32:07 2007 ++++ SETVARS Wed May 9 03:32:12 2007 +@@ -1,4 +1,3 @@ + a=`pwd` + PATH=$a/TopComp:$a/EnginePl:$a/Pl2Wam:$a/Wam2Ma:$a/Ma2Asm:$a/Fd2C:$a/DevUtils:$a/W32GUICons:$PATH:/usr/ucb/:/usr/ccs/bin/ + +-export PATH Index: patches/patch-configure_in =================================================================== RCS file: patches/patch-configure_in diff -N patches/patch-configure_in --- patches/patch-configure_in 22 Nov 2004 06:24:25 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,22 +0,0 @@ -$OpenBSD: patch-configure_in,v 1.2 2004/11/22 06:24:25 pvalchev Exp $ ---- configure.in.orig Thu Sep 19 04:57:32 2002 -+++ configure.in Wed Oct 13 10:50:32 2004 -@@ -319,6 +319,7 @@ else - i*86*bsd*) AC_DEFINE(M_ix86_bsd);; - powerpc*linux*) AC_DEFINE(M_powerpc_linux);; - powerpc*darwin*) AC_DEFINE(M_powerpc_darwin);; -+ powerpc*openbsd*) AC_DEFINE(M_powerpc_openbsd);; - *86*cygwin*) AC_DEFINE(M_ix86_cygwin);; - *) AC_MSG_ERROR(unsupported architecture) - esac -@@ -369,8 +370,9 @@ else - *sparc*solaris) CFLAGS_MACHINE='-msupersparc';; - i686*) CFLAGS_MACHINE='-mcpu=pentiumpro';; - i586*) CFLAGS_MACHINE='-mcpu=pentium';; -- i*86*) CFLAGS_MACHINE='-mcpu=i486';; -+ i*86*) CFLAGS_MACHINE='';; - powerpc*darwin*) CFLAGS_MACHINE='-mpowerpc -no-cpp-precomp';; -+ powerpc*openbsd*) CFLAGS_MACHINE='';; - esac - - case "$host" in Index: pkg/PLIST =================================================================== RCS file: /usr/cvs/ports/lang/gprolog/pkg/PLIST,v retrieving revision 1.2 diff -u -r1.2 PLIST --- pkg/PLIST 26 Sep 2004 15:21:13 -0000 1.2 +++ pkg/PLIST 20 Dec 2009 05:10:51 -0000 @@ -1,4 +1,4 @@ -...@comment $OpenBSD: PLIST,v 1.2 2004/09/26 15:21:13 espie Exp $ +...@comment $OpenBSD$ bin/fd2c bin/gplc bin/gprolog @@ -12,13 +12,13 @@ libdata/gprolog/NEWS libdata/gprolog/VERSION libdata/gprolog/bin/ -libdata/gprolog/bin/fd2c -libdata/gprolog/bin/gplc -libdata/gprolog/bin/gprolog -libdata/gprolog/bin/hexgplc -libdata/gprolog/bin/ma2asm -libdata/gprolog/bin/pl2wam -libdata/gprolog/bin/wam2ma +...@bin libdata/gprolog/bin/fd2c +...@bin libdata/gprolog/bin/gplc +...@bin libdata/gprolog/bin/gprolog +...@bin libdata/gprolog/bin/hexgplc +...@bin libdata/gprolog/bin/ma2asm +...@bin libdata/gprolog/bin/pl2wam +...@bin libdata/gprolog/bin/wam2ma libdata/gprolog/include/ libdata/gprolog/include/fd_to_c.h libdata/gprolog/include/gprolog.h @@ -31,96 +31,100 @@ libdata/gprolog/lib/libengine_fd.a libdata/gprolog/lib/libengine_pl.a libdata/gprolog/lib/liblinedit.a -libdata/gprolog/lib/obj_begin.o -libdata/gprolog/lib/obj_end.o libdata/gprolog/lib/top_level.o share/doc/gprolog/ +share/doc/gprolog/compil-scheme.eps +share/doc/gprolog/compil-scheme.gif share/doc/gprolog/compil-scheme.pdf +share/doc/gprolog/contents_motif.gif +share/doc/gprolog/debug-box.eps +share/doc/gprolog/debug-box.gif share/doc/gprolog/debug-box.pdf +share/doc/gprolog/gprolog.chm +share/doc/gprolog/gprolog.dvi +share/doc/gprolog/gprolog.html +share/doc/gprolog/gprolog.pdf +share/doc/gprolog/gprolog.ps share/doc/gprolog/html/ -share/doc/gprolog/html/compil-scheme.gif share/doc/gprolog/html/contents_motif.gif -share/doc/gprolog/html/debug-box.gif +share/doc/gprolog/html/gprolog-idx.html +share/doc/gprolog/html/gprolog.css +share/doc/gprolog/html/gprolog001.html +share/doc/gprolog/html/gprolog002.html +share/doc/gprolog/html/gprolog003.html +share/doc/gprolog/html/gprolog004.html +share/doc/gprolog/html/gprolog005.html +share/doc/gprolog/html/gprolog006.html +share/doc/gprolog/html/gprolog007.html +share/doc/gprolog/html/gprolog008.html +share/doc/gprolog/html/gprolog009.html +share/doc/gprolog/html/gprolog010.html +share/doc/gprolog/html/gprolog011.html +share/doc/gprolog/html/gprolog012.html +share/doc/gprolog/html/gprolog013.html +share/doc/gprolog/html/gprolog014.html +share/doc/gprolog/html/gprolog015.html +share/doc/gprolog/html/gprolog016.html +share/doc/gprolog/html/gprolog017.html +share/doc/gprolog/html/gprolog018.html +share/doc/gprolog/html/gprolog019.html +share/doc/gprolog/html/gprolog020.html +share/doc/gprolog/html/gprolog021.html +share/doc/gprolog/html/gprolog022.html +share/doc/gprolog/html/gprolog023.html +share/doc/gprolog/html/gprolog024.html +share/doc/gprolog/html/gprolog025.html +share/doc/gprolog/html/gprolog026.html +share/doc/gprolog/html/gprolog027.html +share/doc/gprolog/html/gprolog028.html +share/doc/gprolog/html/gprolog029.html +share/doc/gprolog/html/gprolog030.html +share/doc/gprolog/html/gprolog031.html +share/doc/gprolog/html/gprolog032.html +share/doc/gprolog/html/gprolog033.html +share/doc/gprolog/html/gprolog034.html +share/doc/gprolog/html/gprolog035.html +share/doc/gprolog/html/gprolog036.html +share/doc/gprolog/html/gprolog037.html +share/doc/gprolog/html/gprolog038.html +share/doc/gprolog/html/gprolog039.html +share/doc/gprolog/html/gprolog040.html +share/doc/gprolog/html/gprolog041.html +share/doc/gprolog/html/gprolog042.html +share/doc/gprolog/html/gprolog043.html +share/doc/gprolog/html/gprolog044.html +share/doc/gprolog/html/gprolog045.html +share/doc/gprolog/html/gprolog046.html +share/doc/gprolog/html/gprolog047.html +share/doc/gprolog/html/gprolog048.html +share/doc/gprolog/html/gprolog049.html +share/doc/gprolog/html/gprolog050.html +share/doc/gprolog/html/gprolog051.html +share/doc/gprolog/html/gprolog052.html +share/doc/gprolog/html/gprolog053.html +share/doc/gprolog/html/gprolog054.html +share/doc/gprolog/html/gprolog055.html +share/doc/gprolog/html/gprolog056.html +share/doc/gprolog/html/gprolog057.html +share/doc/gprolog/html/gprolog058.html +share/doc/gprolog/html/gprolog059.html +share/doc/gprolog/html/gprolog060.html +share/doc/gprolog/html/gprolog061.html +share/doc/gprolog/html/gprolog062.html +share/doc/gprolog/html/gprolog063.html +share/doc/gprolog/html/gprolog064.html +share/doc/gprolog/html/gprolog065.html +share/doc/gprolog/html/gprolog066.html +share/doc/gprolog/html/gprolog067.html +share/doc/gprolog/html/gprolog068.html +share/doc/gprolog/html/gprolog069.html +share/doc/gprolog/html/gprolog070.html +share/doc/gprolog/html/gprolog071.html +share/doc/gprolog/html/gprolog072.html +share/doc/gprolog/html/gprolog073.html share/doc/gprolog/html/index.html -share/doc/gprolog/html/manual-idx.html -share/doc/gprolog/html/manual001.html -share/doc/gprolog/html/manual002.html -share/doc/gprolog/html/manual003.html -share/doc/gprolog/html/manual004.html -share/doc/gprolog/html/manual005.html -share/doc/gprolog/html/manual006.html -share/doc/gprolog/html/manual007.html -share/doc/gprolog/html/manual008.html -share/doc/gprolog/html/manual009.html -share/doc/gprolog/html/manual010.html -share/doc/gprolog/html/manual011.html -share/doc/gprolog/html/manual012.html -share/doc/gprolog/html/manual013.html -share/doc/gprolog/html/manual014.html -share/doc/gprolog/html/manual015.html -share/doc/gprolog/html/manual016.html -share/doc/gprolog/html/manual017.html -share/doc/gprolog/html/manual018.html -share/doc/gprolog/html/manual019.html -share/doc/gprolog/html/manual020.html -share/doc/gprolog/html/manual021.html -share/doc/gprolog/html/manual022.html -share/doc/gprolog/html/manual023.html -share/doc/gprolog/html/manual024.html -share/doc/gprolog/html/manual025.html -share/doc/gprolog/html/manual026.html -share/doc/gprolog/html/manual027.html -share/doc/gprolog/html/manual028.html -share/doc/gprolog/html/manual029.html -share/doc/gprolog/html/manual030.html -share/doc/gprolog/html/manual031.html -share/doc/gprolog/html/manual032.html -share/doc/gprolog/html/manual033.html -share/doc/gprolog/html/manual034.html -share/doc/gprolog/html/manual035.html -share/doc/gprolog/html/manual036.html -share/doc/gprolog/html/manual037.html -share/doc/gprolog/html/manual038.html -share/doc/gprolog/html/manual039.html -share/doc/gprolog/html/manual040.html -share/doc/gprolog/html/manual041.html -share/doc/gprolog/html/manual042.html -share/doc/gprolog/html/manual043.html -share/doc/gprolog/html/manual044.html -share/doc/gprolog/html/manual045.html -share/doc/gprolog/html/manual046.html -share/doc/gprolog/html/manual047.html -share/doc/gprolog/html/manual048.html -share/doc/gprolog/html/manual049.html -share/doc/gprolog/html/manual050.html -share/doc/gprolog/html/manual051.html -share/doc/gprolog/html/manual052.html -share/doc/gprolog/html/manual053.html -share/doc/gprolog/html/manual054.html -share/doc/gprolog/html/manual055.html -share/doc/gprolog/html/manual056.html -share/doc/gprolog/html/manual057.html -share/doc/gprolog/html/manual058.html -share/doc/gprolog/html/manual059.html -share/doc/gprolog/html/manual060.html -share/doc/gprolog/html/manual061.html -share/doc/gprolog/html/manual062.html -share/doc/gprolog/html/manual063.html -share/doc/gprolog/html/manual064.html -share/doc/gprolog/html/manual065.html -share/doc/gprolog/html/manual066.html -share/doc/gprolog/html/manual067.html -share/doc/gprolog/html/manual068.html -share/doc/gprolog/html/manual069.html -share/doc/gprolog/html/manual070.html -share/doc/gprolog/html/manual071.html share/doc/gprolog/html/next_motif.gif share/doc/gprolog/html/previous_motif.gif -share/doc/gprolog/manual.chm -share/doc/gprolog/manual.dvi -share/doc/gprolog/manual.pdf -share/doc/gprolog/manual.ps -share/doc/gprolog/pl-bips.dvi share/examples/gprolog/ share/examples/gprolog/ExamplesC/ share/examples/gprolog/ExamplesC/Makefile @@ -150,6 +154,7 @@ share/examples/gprolog/ExamplesFD/eq20.pl share/examples/gprolog/ExamplesFD/five.pl share/examples/gprolog/ExamplesFD/gardner.pl +share/examples/gprolog/ExamplesFD/langford.pl share/examples/gprolog/ExamplesFD/magic.pl share/examples/gprolog/ExamplesFD/magsq.pl share/examples/gprolog/ExamplesFD/multipl.pl