W odpowiedzi na wiadomość z dnia 04.12.2016, 17:19, od Łukasz Maśko:
Mam potrzebę zaprojektowania prościutkiej płytki, ale ponieważ nigdy tego
nie robiłem, nie wiem też jakiego softu użyć. Chciałem spróbować KiCad-a,
którego mamy w PLD, ale próba odpalenia kończy się segfaultem. Końcówka
strace wygląda tak: [ciach]
Ostatnio jak używałem to budowałem developerską wersję z bzr launchpada, nawet
nie próbując używać tego co jest w oryginalnym specu z PLD.
Program jest dość intensywnie rozwijany, ma wsparcie dla pythona, kilka commitów
dziennie, tak więc Eagle się nie umywa, aczkolwiek do małej płyteczki nada się
byle co.
http://kicad-pcb.org/download/source/
spece robione dość dawno na kolanie załączam.
--
Pozdrawiam,
Light-I
# Conditional build:
%bcond_without pyscripting # using python scripting
%bcond_with stable # using stable branch
%bcond_with pydoc # using python interface doxygen
%bcond_without system_boost # using special boost build
%define stable_rev 4029
%define main_rev 6236
%if %{with stable}
%define _branch stable
%define snaprev %{stable_rev}
%define lp_source lp:kicad/stable
%define _py_path_def PYTHON_DEST
%define setupN 1
%else
%define _branch main
%define snaprev %{main_rev}
%define lp_source lp:kicad
%if 0%{?main_rev}>5148
%define _py_path_def PYTHON_SITE_PACKAGE_PATH
%else
%define _py_path_def PYTHON_DEST
%endif
%define setupN 0
%endif
%define _plugin_dir %{_datadir}/%{name}/plugins
Summary: KiCad - is a GPL'd suite of programs for EDA
Summary(pl.UTF-8): KiCad - zestaw programów na licencji GPL zaliczany do kategorii EDA
Name: kicad
Version: BZR.%{snaprev}
Release: 1
License: GNU GPL v2, GNU LGPL v2.1
Group: X11/Applications
Source0: %{name}-sources-BZR.%{main_rev}-main.tar.bz2
# Source0-md5:
## bzr export -r%{snaprev} --format=tbz2 %{name}-sources-%{version}-%{_branch}.tar.bz2 %{lp_source}
Source1: %{name}-sources-BZR.%{stable_rev}-stable.tar.bz2
Source2: %{name}.x-%{name}-pcbnew.desktop
Source3: patchKiCAD
Source4: patchInstall
## Patch0:
## Patch1: pns_diff_pair_plus_minus.patch
## Patch1: dialog_drc_list_color.patch html_reporter_text.patch pyZoneConnection.path
## Patch2: %{name}-pymire.patch
## Patch1: 0001-Fix-vrml_v2_modelparser.cpp-array-comparisons.patch
## Patch2: 0002-Make-GetNextTag-implementation-safer-by-checking-num.patch
## Alternate URL: https://launchpad.net/kicad
URL: http://www.kicad-pcb.org/
BuildRequires: boost-devel
BuildRequires: bzr = 2.6.0
BuildRequires: cairo-devel
BuildRequires: cmake-gui >= 2.6.4
BuildRequires: doxygen
BuildRequires: glew-devel
BuildRequires: gtk-webkit-devel
BuildRequires: libgomp-devel
BuildRequires: openssl-devel
BuildRequires: rpmbuild(macros) >= 1.600
BuildRequires: sed >= 4.0
BuildRequires: which
# python-pywebkitgtk
BuildRequires: wxGTK2-unicode-devel >= 3.0.0
BuildRequires: wxGTK2-unicode-gl-devel >= 3.0.0
BuildRequires: wxWidgets-devel >= 3.0.0
Requires: minizip
Provides: kicad
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
KiCad consists of a project manager and six main programs:
- kicad - the project manager.
- eeschema - the schematic editor.
- cvpcb - the footprint selector for components used in the circuit
design.
- pcbnew - the PCB layout program.
- gerbview - the Gerber (photoplotter documents) viewer.
- bitmap2component - tool for creating logotypes from bitmaps.
- pcb_calculator - tool for various helpfull calculations.
%description -l pl.UTF-8
KiCad skÅada siÄ z menadżera projektów oraz szeÅciu gÅównych
programów:
- kicad - menadżer projektów.
- eeschema - edytor schematów.
- cvpcb - narzÄdzie do wybierania elementów używanych przy
projektowaniu pÅytek drukowanych.
- pcbnew - program do projektowania pÅytek drukowanych.
- gerbview - przeglÄ
darka plików Gerber (dokumentów dla fotoplotera).
- bitmap2component - narzÄdzie do tworzenia logotypów z map bitowych.
- pcb_calculator - narzÄdzie do wielu przydatnych obliczeÅ.
%package demos
Summary: Demos for KiCad
Summary(pl.UTF-8): Projekty demonstracyjne dla KiCad-a.
Group: X11/Applications
## Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description demos
Demos for KiCad.
%description demos -l pl.UTF-8
Projekty demonstracyjne dla KiCad-a.
%if %{with pyscripting}
%package python
Summary: Python API for KiCad
Summary(pl.UTF-8): Biblioteki programistyczne dla KiCad-a.
Group: X11/Applications
BuildRequires: GConf2-devel
BuildRequires: bzrtools = 2.6.0
## BuildRequires: cairo-static
## BuildRequires: pixman-static
## BuildRequires: glew-static
BuildRequires: gtk-doc
BuildRequires: python-devel >= 2.0
## BuildRequires: python-devel < 3.0
BuildRequires: python-gstreamer0.10-devel
BuildRequires: python-wxPython-devel >= 3.0.0
BuildRequires: swig-python >= 2.0
## Requires: %{name} = %{version}-%{release}
%description python
Extension for KiCad scripting in Python.
%description python -l pl.UTF-8
Rozszerzenie do tworzeniu skryptów w Pythonie dla KiCad-a.
%package python-generator-pad-array
Summary: Python Pad Array Generator
%description python-generator-pad-array
Python Pad Array Generator
%package python-generator-circular-pad-array
Summary: Python Circular Pad Array Generator
%description python-generator-circular-pad-array
Python Circular Pad Array Generator
%package python-generator-uss39-barcode
Summary: Python USS39-BARCODE Generator
%description python-generator-uss39-barcode
Python USS39-BARCODE Generator
%package python-generator-fpc-smd
Summary: Python FPC-SMD Generator
%description python-generator-fpc-smd
Python FPC-SMD Generator
%package python-generator-qfp
Summary: Python QFP Generator
%description python-generator-qfp
Python QFP Generator
%package python-generator-touch-slider
Summary: Python Touch Slider Generator
%description python-generator-touch-slider
Python Touch Slider Generator
%package python-generator-sdip
Summary: Python SDIP Generator
%description python-generator-sdip
Python SDIP Generator
%package python-generator-bga
Summary: Python BGA Generator
%description python-generator-bga
Python BGA Generator
%endif
%prep
echo %{optflags}
echo "Arch:" %{_arch} "/" %{_arch_x86_64}
%setup -q -T -b %{setupN} -n %{name}-sources-%{version}-%{_branch}
## %patch0 -p0
## %patch1 -p0
## %patch2 -p1
## cp -r ${HOME}/Devel/KiCAD/bzr/.downloads-by-cmake .
#kicad-doc.noarch: W: file-not-utf8 %{_docdir}/kicad/AUTHORS.txt
iconv -f iso8859-1 -t utf-8 AUTHORS.txt > AUTHORS.conv && mv -f AUTHORS.conv AUTHORS.txt
chmod +x %{SOURCE3}
%{SOURCE3} %{_branch}:%{snaprev}:%{_libdir} \
%if %{with system_boost}
boost_sys
%else
boost_dwl
%endif
install -d build
cd build
%cmake \
-DwxWidgets_CONFIG_EXECUTABLE=`which wx-gtk2-unicode-config` \
-DwxWidgets_USE_STATIC=OFF \
%if %{with stable}
-DKICAD_STABLE_VERSION=ON \
%endif
%if %{with system_boost}
-DKICAD_SKIP_BOOST=ON \
-DBOOST_ROOT=%{_prefix} \
%else
-DKICAD_SKIP_BOOST=OFF \
%endif
-DKICAD_KEEPCASE=ON \
-DKICAD_REPO_NAME=BZR%{snaprev} \
-DBUILD_GITHUB_PLUGIN=OFF \
%if %{with pyscripting}
-DPYTHON_EXECUTABLE=%{__python}2 \
-D%{_py_path_def}=%{py_sitescriptdir} \
-DKICAD_BUILD_DYNAMIC=ON \
-DKICAD_SCRIPTING=ON \
-DKICAD_SCRIPTING_MODULES=ON \
-DKICAD_SCRIPTING_WXPYTHON=ON \
%endif
-DKICAD_DATA="%{_datadir}/%{name}" \
-DKICAD_PLUGINS="%{_plugin_dir}" \
..
## -DUSE_PCBNEW_NANOMETRES=ON \
## -DUSE_FP_LIB_TABLE=ON \
## %if %{_arch}=="x86_64"
## -D_FILE_OFFSET_BITS=64 \
## %endif
## -DwxUSE_UNICODE=ON \
## -DCAIRO_ROOT=%{_prefix} \
## -DGLEW_ROOT=%{_prefix} \
## -DKICAD_USE_WEBKIT=OFF \
## -DLIBWXPYTHON_ROOT=%{_prefix} \
## -DPCRE_ROOT=%{_prefix} \
## -DPIXMAN_ROOT=%{_prefix} \
## -DPKGCONFIG_ROOT=%{_prefix} \
## -DSWIG_ROOT=%{_prefix} \
## -DPYTHON_ROOT_DIR=%{_lib} \
## -DPYTHON_INCLUDE_DIRS=%{_includedir} \
## -DKICAD_BUILD_STATIC=ON \
## -DKICAD_GOST=OFF \
%build
cd build
%{__make}
%if %{with pydoc}
%{__make} doxygen-python
%endif
%install
rm -rf $RPM_BUILD_ROOT
## %{__rm} -rf $RPM_BUILD_ROOT
%{__make} -C build install \
DESTDIR="$RPM_BUILD_ROOT" \
PREFIX="$RPM_BUILD_ROOT%{_prefix}"
chmod +x %{SOURCE4}
%{SOURCE4} --root=$RPM_BUILD_ROOT\
--src=%{_docdir}/%{name}/scripts --dst=%{_datadir}/%{name}/scripts
# install -pm 644 Documentation/*.pdf $RPM_BUILD_ROOT%{_docdir}/%{name}
find Documentation -iname '*.odt' | while read rmdoc; do rm "${rmdoc}"; done
# install new mime type
install -d $RPM_BUILD_ROOT%{_datadir}/mime/application
install -pm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/mime/application/x-%{name}-pcbnew.desktop
%if %{with pyscripting}
install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/py_examples
find pcbnew/scripting/examples -type f -iname '*.py' | while read pyFile; do\
install -pm 755 ${pyFile} $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/py_examples; done
install -d $RPM_BUILD_ROOT%{_plugin_dir}
find pcbnew/scripting/plugins -type f -iname '*.py' | while read pyFile; do\
install -pm 755 ${pyFile} $RPM_BUILD_ROOT%{_plugin_dir}; done
%endif
mv $RPM_BUILD_ROOT%{_datadir}/mimelnk/application/*.desktop \
$RPM_BUILD_ROOT%{_datadir}/mime/application
%post
%update_mime_database
%update_desktop_database_post
%update_icon_cache hicolor
%postun
%update_mime_database
%update_desktop_database_postun
%update_icon_cache hicolor
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc {AUTHORS,CHANGELOG,INSTALL,README,TODO,license_for_documentation}.txt Documentation
%attr(755,root,root) %{_bindir}/_*.kiface
%attr(755,root,root) %{_bindir}/bitmap2component
%if 0%{?main_rev}<5718
%attr(755,root,root) %{_bindir}/cvpcb
%endif
%attr(755,root,root) %{_bindir}/dxf2idf
%attr(755,root,root) %{_bindir}/eeschema
# %attr(755,root,root) %{_bindir}/freeroute.jnlp
%attr(755,root,root) %{_bindir}/gerbview
%attr(755,root,root) %{_bindir}/idf2vrml
%attr(755,root,root) %{_bindir}/idfcyl
%attr(755,root,root) %{_bindir}/idfrect
%attr(755,root,root) %{_bindir}/kicad
%attr(755,root,root) %{_bindir}/pcb_calculator
%attr(755,root,root) %{_bindir}/pcbnew
%attr(755,root,root) %{_bindir}/pl_editor
%dir %{_datadir}/%{name}
%dir %{_plugin_dir}
%{_plugin_dir}/bom2csv.xsl
%{_plugin_dir}/bom_cvs.xsl
%{_plugin_dir}/netlist_form_OrcadPcb2.xsl
%{_plugin_dir}/netlist_form_cadstar-RINF.xsl
%{_plugin_dir}/netlist_form_cadstar.xsl
%{_plugin_dir}/netlist_form_pads-pcb.xsl
%{_plugin_dir}/bom_with_title_block_2_csv.xsl
%{_iconsdir}/hicolor/*x*/*/*.png
%{_iconsdir}/hicolor/scalable/*/*.svg
%{_desktopdir}/*.desktop
%{_datadir}/mime/application/*%{name}*.desktop
%{_datadir}/mime/packages/%{name}.xml
%{_datadir}/%{name}/template
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/INSTALL.txt
%dir %{_datadir}/%{name}/scripts
%{_datadir}/%{name}/scripts/kicad-install.sh
%{_datadir}/%{name}/scripts/library-repos-install.bat
%{_datadir}/%{name}/scripts/library-repos-install.sh
%{_datadir}/%{name}/scripts/osx_fixbundle.sh
%{_datadir}/%{name}/scripts/osx_build_wx.sh
%if %{with pyscripting}
%files python
%defattr(644,root,root,755)
%{py_sitescriptdir}/_pcbnew.so
%{py_sitescriptdir}/pcbnew.py
%attr(755,root,root) %{_datadir}/%{name}/scripts/lib_convert.py
%attr(755,root,root) %{_datadir}/%{name}/scripts/test_kicad_plugin.py
%attr(755,root,root) %{_datadir}/%{name}/scripts/test_plugin.py
%dir %{_datadir}/%{name}/scripts/bom-in-python
%{_datadir}/%{name}/scripts/bom-in-python/*
%dir %{_datadir}/%{name}/scripts/py_examples
%attr(755,root,root) %{_datadir}/%{name}/scripts/py_examples/*.py
%{_plugin_dir}/__init__.py
%{_plugin_dir}/FootprintWizardDrawingAids.py
%{_plugin_dir}/HelpfulFootprintWizardPlugin.py
## %%{_plugin_dir}/FPC_FootprintWizardExample.py
%files python-generator-pad-array
%{_plugin_dir}/PadArray.py
%files python-generator-circular-pad-array
%{_plugin_dir}/circular_pad_array_wizard.py
%files python-generator-uss39-barcode
%{_plugin_dir}/uss39_barcode.py
%files python-generator-fpc-smd
%{_plugin_dir}/FPC_(SMD_type)_footprintwizard.py
%files python-generator-qfp
%{_plugin_dir}/qfp_wizard.py
%files python-generator-touch-slider
%{_plugin_dir}/touch_slider_wizard.py
%files python-generator-sdip
%{_plugin_dir}/sdip_wizard.py
%files python-generator-bga
%{_plugin_dir}/bga_wizard.py
%endif
%files demos
%defattr(644,root,root,755)
%dir %{_datadir}/%{name}/demos/
%{_datadir}/%{name}/demos/complex_hierarchy
%{_datadir}/%{name}/demos/ecc83
%{_datadir}/%{name}/demos/electric
%{_datadir}/%{name}/demos/flat_hierarchy
%{_datadir}/%{name}/demos/interf_u
%{_datadir}/%{name}/demos/kit-dev-coldfire-xilinx_5213
%{_datadir}/%{name}/demos/microwave
%{_datadir}/%{name}/demos/pic_programmer
%{_datadir}/%{name}/demos/pspice
"%{_datadir}/%{name}/demos/sonde xilinx"
%{_datadir}/%{name}/demos/test_xil_95108
%{_datadir}/%{name}/demos/video
%if 0%{?main_rev}>5626
%dir %{_datadir}/%{name}/demos/python_scripts_examples/
%{_datadir}/%{name}/demos/python_scripts_examples/*.py
%dir %{_datadir}/%{name}/demos/test_pads_inside_pads/
%{_datadir}/%{name}/demos/test_pads_inside_pads/test_pads_inside_pads*.*
%endif
#
%define base_name kicad
%define doc_rev 896
Summary: Additonal documentation and tutorial files for KiCad.
Summary(pl.UTF-8): Dodatkowe pliki dokumentacji i pomocy dla KiCad-a.
Name: kicad-doc
Version: 0.%{doc_rev}
Release: 1
License: GNU GPL v2, GNU LGPL v2.1
Group: X11/Applications
Source0: %{base_name}-doc-r%{doc_rev}.tar.bz2
# Source0-md5:
## bzr export -r%{doc_rev} --format=tbz2 --root=doc kicad-doc-r%{doc_rev}.tar.bz2 lp:~kicad-developers/kicad/doc
URL: https://code.launchpad.net/~kicad-developers/kicad/doc
## Requires: kicad
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
This package includes Help and Tutorial files.
%description -l pl.UTF-8
Ten pakiet zawiera pliki pomocy i nakuki obÅugi programu.
%package tutorials
Summary: Tutorials for KiCad.
Summary(pl.UTF-8): Przewodniki poczÄ
tkujacego dla KiCad-a.
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description tutorials
Tutorials for KiCad beginners.
%description tutorials -l pl.UTF-8
Przewodniki dla poczatkujÄ
cych użytkowinków KiCad-a.
%prep
echo %{optflags}
echo "Arch:" %{arch}
%setup -q -n %{base_name}-doc-r%{doc_rev}
%build
install -d build
cd build
%cmake \
-DKICAD_DOCS="%{_datadir}/%{base_name}/doc" \
-DKICAD_HELP="%{_datadir}/%{base_name}/help" \
-DKICAD_INTERNAT="%{_localedir}" \
..
%install
%__rm -rf $RPM_BUILD_ROOT
%{__make} -C build install \
DESTDIR="$RPM_BUILD_ROOT" \
PREFIX="$RPM_BUILD_ROOT%{_prefix}"
for lc_dir in `ls $RPM_BUILD_ROOT%{_localedir}`; do
install -m 644 -D $RPM_BUILD_ROOT%{_localedir}/${lc_dir}/%{base_name}.mo \
$RPM_BUILD_ROOT%{_localedir}/${lc_dir}/LC_MESSAGES/%{base_name}.mo
%__rm $RPM_BUILD_ROOT%{_localedir}/$lc_dir/*.{p,m}o
done
cd doc/
install -d $RPM_BUILD_ROOT%{_datadir}/%{base_name}/tutorials
find tutorials -iname '*.pdf' | while read tutorial; do
dname=$(dirname "${tutorial}")
install -d $RPM_BUILD_ROOT%{_datadir}/%{base_name}/${dname}
install -pm 644 "${tutorial}" $RPM_BUILD_ROOT%{_datadir}/%{base_name}/${dname}
done
TutLng=''
find tutorials -mindepth 1 -maxdepth 1 -type d | while read tutorial; do
if [ -z "${TutLng}" ]; then
TutLng+=$(basename ${tutorial})
else
TutLng+=','
TutLng+=$(basename ${tutorial})
fi
done
cd ..
## %define _tut_langs %(echo ${TutLng})
%define _tut_langs \{de,en,es,fr,hu,it,ja,pl,ru,zh_CN\}
## dupa_stop
%find_lang %{base_name}
%files -f %{base_name}.lang
%defattr(644,root,root,755)
%{_datadir}/%{base_name}/help
%files tutorials
%defattr(644,root,root,755)
%{_datadir}/%{base_name}/tutorials
#
%define base_name kicad
%define i18n_rev 820
Summary: GUI Internationalization files for KiCad.
Summary(pl.UTF-8): Pliki miÄdzynarodowe dla KiCad-a.
Name: kicad-i18n
Version: 0.%{i18n_rev}
Release: 1
License: GNU GPL v2, GNU LGPL v2.1
Group: X11/Applications
Source0: %{base_name}-i18n-r%{i18n_rev}.tar.xz
## Source0: kicad-i18n-master-0.768.zip
# Source0-md5:
## git archive | bzip2 > kicad-i18n-r%{i18n_rev}.tar.bz2 lp:~kicad-developers/kicad/i18n
URL: https://github.com/KiCad/kicad-i18n
## Requires: kicad
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
This package includes internationalization files.
%description -l pl.UTF-8
Ten pakiet zawiera pliki miÄdzynarodowe interface użytkownika programu.
%prep
echo %{optflags}
echo "Arch:" %{arch}
%setup -q -n %{base_name}-i18n-r%{i18n_rev}
%build
BUILD_SRC=$(pwd)
install -d %{_buildrootdir}/%{name}-build
cd %{_buildrootdir}/%{name}-build
%cmake \
-DKICAD_I18N_UNIX_STRICT_PATH=ON \
-DKICAD_I18N_PATH="%{_localedir}" \
${BUILD_SRC}
%install
%__rm -rf $RPM_BUILD_ROOT
%{__make} -C %{_buildrootdir}/%{name}-build install \
DESTDIR="$RPM_BUILD_ROOT" \
PREFIX="$RPM_BUILD_ROOT%{_prefix}"
%find_lang %{base_name}
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%__rm -rf %{_buildrootdir}/%{name}-build
%files -f %{base_name}.lang
%defattr(644,root,root,755)
#
%define base_name kicad
%define lib_rev 562
Summary: Library project files for KiCad.
Summary(pl.UTF-8): Biblioteka projektowa dla KiCad-a.
Name: kicad-lib
Version: 0.%{lib_rev}
Release: 1
License: GNU GPL v2, GNU LGPL v2.1
Group: X11/Applications
Source0: %{base_name}-lib-r%{lib_rev}.tar.bz2
# Source0-md5:
## bzr export -r%{lib_rev} --format=tbz2 --root=lib kicad-lib-r%{lib_rev}.tar.bz2 lp:~kicad-product-committers/kicad/library
URL: https://code.launchpad.net/~kicad-product-committers/kicad/library
## Requires: kicad
BuildArch: noarch
BuildRoot: %{tmpdir}/%{base_name}-%{version}-root-%(id -u -n)
%description
Library of design electronics elements for KiCad.
%description -l pl.UTF-8
Biblioteka projektowa elementów elektronicznych dla KiCad-a.
%package sch
Summary: Tutorials for KiCad.
Summary(pl.UTF-8): Przewodniki poczÄ
tkujacego dla KiCad-a.
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description sch
Tutorials for KiCad beginners.
%description sch -l pl.UTF-8
Przewodniki dla poczatkujÄ
cych użytkowinków KiCad-a.
%prep
echo %{optflags}
echo "Arch:" %{arch}
%setup -q -n %{base_name}-lib-r%{lib_rev}
%build
install -d build
cd build
%cmake \
..
%{__make}
%install
%__rm -rf $RPM_BUILD_ROOT
%{__make} -C build install \
DESTDIR="$RPM_BUILD_ROOT" \
PREFIX="$RPM_BUILD_ROOT%{_prefix}"
%files
%defattr(644,root,root,755)
%{_datadir}/%{base_name}/modules
%dir %{_datadir}/%{base_name}/library
%{_datadir}/%{base_name}/library/contrib_symbols_dl1eic
%{_datadir}/%{base_name}/template
%files sch
%defattr(644,root,root,755)
%{_datadir}/%{base_name}/library/*.lib
%{_datadir}/%{base_name}/library/*.dcm
_______________________________________________
pld-users-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl