--- Begin Message ---
Package: puredata
Version: 0.42.5-3
Severity: important
Tags: patch
I just found an important thing to update in the 'puredata' package and I was
hoping to get the new version uploaded soon, since Ubuntu is going to be
taking a Debian/testing snapshot on Feb 11th. Basically, the package only
includes m_pd.h, but many externals also depend on s_stuff.h, m_imp.h, and
g_canvas.h. These headers haven'tchanged much in a long time, m_imp.h hasn't
changed at all in 4 years. If we want to add more externals to Debian, then
those headers will need to be there in order for things to build.
git-format-patch attached.
* debian/install:
- changed binary from /usr/bin/pd to /usr/bin/puredata
- added abstractions from extra to usr/lib/pd/extra
- added headers needed to build externals: m_imp.h, s_stuff.h, g_canvas.h
* debian/links: made /usr/bin/pd a link to /usr/bin/puredata
* debian/menu: made use /usr/bin/puredata to always start this version
* debian/puredata.desktop:
- added translations for the Comment field
- use the /usr/bin/puredata binary
* debian/patches/05_user-install-paths.diff:
- added standard paths for people to install their own externals
* debian/patches/06_bin-puredata.diff:
- patched pd to call binary /usr/bin/puredata
-- System Information:
Debian Release: 5.0.3
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages puredata depends on:
ii libasound2 1.0.16-2 ALSA library
ii libc6 2.7-18 GNU C Library: Shared libraries
ii libjack0 0.109.2-5 JACK Audio Connection Kit (librari
ii tcl8.4 8.4.19-2 Tcl (the Tool Command Language) v8
ii tk8.4 8.4.19-2 Tk toolkit for Tcl and X11, v8.4 -
Versions of packages puredata recommends:
pn gem <none> (no description available)
puredata suggests no packages.
diff --git a/debian/README.Debian b/debian/README.Debian
index 68994f3..e7b7d5d 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -30,7 +30,7 @@ Configuration
Instead of passing your command line flags to pd, you can write them
into your ~/.pdrc file. Each commandline switch on its own line like
- -path /usr/lib/pd/doc
+ -path /usr/local/lib/pd-externals
-frags 4
-noadc
-lib Gem
diff --git a/debian/changelog b/debian/changelog
index 435348f..30df1eb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+puredata (0.42.5-3.1) unstable; urgency=medium
+
+ * debian/install:
+ - changed binary from /usr/bin/pd to /usr/bin/puredata
+ - added abstractions from extra to usr/lib/pd/extra
+ - added headers needed to build externals: m_imp.h, s_stuff.h, g_canvas.h
+ * debian/links: made /usr/bin/pd a link to /usr/bin/puredata
+ * debian/menu: made use /usr/bin/puredata to always start this version
+ * debian/puredata.desktop:
+ - added translations for the Comment field
+ - use the /usr/bin/puredata binary
+ * debian/patches/05_user-install-paths.diff:
+ - added standard paths for people to install their own externals
+ * debian/patches/06_bin-puredata.diff:
+ - patched pd to call binary /usr/bin/puredata
+
+ -- Hans-Christoph Steiner <[email protected]> Tue, 02 Feb 2010 16:55:10 -0500
+
puredata (0.42.5-3) unstable; urgency=low
* debian/control:
diff --git a/debian/install b/debian/install
index 27144e9..7d5733a 100644
--- a/debian/install
+++ b/debian/install
@@ -1,4 +1,4 @@
-bin/pd usr/bin/
+bin/puredata usr/bin/
bin/pdsend usr/bin/
bin/pdreceive usr/bin/
bin/pd-gui usr/lib/pd/bin/
@@ -6,7 +6,20 @@ bin/pd-watchdog usr/lib/pd/bin/
bin/pd.tk usr/lib/pd/bin/
doc/5.reference usr/lib/pd/doc/
src/m_pd.h usr/include
+src/m_imp.h usr/include
+src/g_canvas.h usr/include
+src/s_stuff.h usr/include
extra/*/*.pd_linux usr/lib/pd/extra
+extra/*/*.pd_linux usr/lib/pd/extra
+extra/complex-mod~.pd usr/lib/pd/extra
+extra/hilbert~.pd usr/lib/pd/extra
+extra/rev1-final.pd usr/lib/pd/extra
+extra/rev1~.pd usr/lib/pd/extra
+extra/rev1-stage.pd usr/lib/pd/extra
+extra/rev2~.pd usr/lib/pd/extra
+extra/rev3~.pd usr/lib/pd/extra
+extra/loop~/test-loop~.pd usr/lib/pd/extra
+extra/pd~/pd~-subprocess.pd usr/lib/pd/extra
extra/*-help.pd usr/lib/pd/doc/5.reference/
extra/*/*-help.pd usr/lib/pd/doc/5.reference/
debian/puredata.xpm usr/share/pixmaps
diff --git a/debian/links b/debian/links
index e8a0179..6cdf05c 100644
--- a/debian/links
+++ b/debian/links
@@ -5,5 +5,5 @@ usr/share/doc/puredata/4.data.structures usr/lib/pd/doc/4.data.structures
usr/share/doc/puredata/6.externs usr/lib/pd/doc/6.externs
usr/share/doc/puredata/7.stuff usr/lib/pd/doc/7.stuff
usr/share/doc/puredata/sound usr/lib/pd/doc/sound
-usr/bin/pd usr/bin/puredata
+usr/bin/puredata usr/bin/pd
usr/share/man/man1/pd.1.gz usr/share/man/man1/puredata.1.gz
diff --git a/debian/menu b/debian/menu
index 6f85240..446db4e 100644
--- a/debian/menu
+++ b/debian/menu
@@ -1,4 +1,4 @@
?package(puredata):needs="x11" section="Applications/Sound"\
title="PureData" \
- command="/usr/bin/pd" \
+ command="/usr/bin/puredata" \
icon="/usr/share/pixmaps/puredata.xpm"
diff --git a/debian/patches/05_user-install-paths.diff b/debian/patches/05_user-install-paths.diff
new file mode 100644
index 0000000..9893e94
--- /dev/null
+++ b/debian/patches/05_user-install-paths.diff
@@ -0,0 +1,72 @@
+diff --git a/src/s_path.c b/src/s_path.c
+index d74aa0f..fc2eb6a 100644
+--- a/src/s_path.c
++++ b/src/s_path.c
+@@ -69,6 +69,31 @@ void sys_unbashfilename(const char *from, char *to)
+ *to = 0;
+ }
+
++/* expand env vars and ~ at the beginning of a path and make a copy to return */
++static void sys_expandpath(const char *from, char *to)
++{
++ if ((strlen(from) == 1 && from[0] == '~') || (strncmp(from,"~/", 2) == 0))
++ {
++#ifdef MSW
++ const char *home = getenv("USERPROFILE");
++#else
++ const char *home = getenv("HOME");
++#endif
++ if(home)
++ {
++ strncpy(to, home, FILENAME_MAX - 1);
++ strncat(to, from + 1, FILENAME_MAX - strlen(from) - 2);
++ }
++ }
++ else
++ strncpy(to, from, FILENAME_MAX - 1);
++#ifdef MSW
++ char buf[FILENAME_MAX];
++ ExpandEnvironmentStrings(to, buf, FILENAME_MAX - 2);
++ strncpy(to, buf, FILENAME_MAX - 1);
++#endif
++}
++
+ /* test if path is absolute or relative, based on leading /, env vars, ~, etc */
+ int sys_isabsolutepath(const char *dir)
+ {
+@@ -193,8 +218,16 @@ int sys_usestdpath = 1;
+
+ void sys_setextrapath(const char *p)
+ {
++ char pathbuf[FILENAME_MAX];
+ namelist_free(pd_extrapath);
+- pd_extrapath = namelist_append(0, p, 0);
++ /* add standard place for users to install stuff first */
++
++ sys_expandpath("~/pd-externals", pathbuf);
++ pd_extrapath = namelist_append(0, pathbuf, 0);
++ pd_extrapath = namelist_append(pd_extrapath, "/usr/local/lib/pd-externals", 0);
++
++ /* add built-in "extra" path last so its checked last */
++ pd_extrapath = namelist_append(pd_extrapath, p, 0);
+ }
+
+ #ifdef MSW
+@@ -319,11 +352,12 @@ static int do_open_via_path(const char *dir, const char *name,
+ dirresult, nameresult, size, bin)) >= 0)
+ return (fd);
+
+- /* next look in "extra" */
+- if (sys_usestdpath &&
+- (fd = sys_trytoopenone(pd_extrapath->nl_string, name, ext,
+- dirresult, nameresult, size, bin)) >= 0)
+- return (fd);
++ /* next look in built-in paths like "extra" */
++ if (sys_usestdpath)
++ for (nl = pd_extrapath; nl; nl = nl->nl_next)
++ if ((fd = sys_trytoopenone(nl->nl_string, name, ext,
++ dirresult, nameresult, size, bin)) >= 0)
++ return (fd);
+
+ *dirresult = 0;
+ *nameresult = dirresult;
diff --git a/debian/patches/06_bin-puredata.diff b/debian/patches/06_bin-puredata.diff
new file mode 100644
index 0000000..7a28553
--- /dev/null
+++ b/debian/patches/06_bin-puredata.diff
@@ -0,0 +1,74 @@
+diff --git a/src/makefile.in b/src/makefile.in
+index cba0f7a..dd5be9f 100644
+--- a/src/makefile.in
++++ b/src/makefile.in
+@@ -1,7 +1,7 @@
+ VPATH = ../obj:./
+ OBJ_DIR = ../obj
+ BIN_DIR = ../bin
+-PDEXEC = $(BIN_DIR)/pd
++PDEXEC = $(BIN_DIR)/puredata
+ EXT= @EXT@
+ GUINAME= @GUINAME@
+
+@@ -16,7 +16,7 @@ GFLAGS = -DINSTALL_PREFIX=\"$(prefix)\"
+
+ # varibles to match packages/Makefile.buildlayout so that they can be easily
+ # overridden when building Pd-extended builds. <[email protected]>
+-libpddir = $(libdir)/pd
++libpddir = $(libdir)/puredata
+ pddocdir = $(libpddir)/doc
+ libpdbindir = $(libpddir)/bin
+
+@@ -81,12 +81,12 @@ endif
+ # ------------------ targets ------------------------------------
+ #
+
+-.PHONY: pd gui externs all
++.PHONY: puredata gui externs all
+
+-all: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
++all: puredata $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
+ $(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk externs
+
+-bin: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
++bin: puredata $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
+ $(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk
+
+ $(OBJ) : %.o : %.c
+@@ -98,7 +98,7 @@ $(GOBJ) : %.o : %.c
+ $(ASIOOBJ): %.o : %.cpp
+ $(CXX) $(CFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.cpp
+
+-pd: $(PDEXEC)
++puredata: $(PDEXEC)
+
+ ifneq ($(GSRC),)
+ gui: $(BIN_DIR)/$(GUINAME)
+@@ -170,7 +170,7 @@ install: all
+ install $(BIN_DIR)/pd-watchdog $(DESTDIR)$(libpdbindir)/pd-watchdog
+ install -m644 $(BIN_DIR)/pd.tk $(DESTDIR)$(libpdbindir)/pd.tk
+ install -d $(DESTDIR)$(bindir)
+- install $(BINARYMODE) $(PDEXEC) $(DESTDIR)$(bindir)/pd
++ install $(BINARYMODE) $(PDEXEC) $(DESTDIR)$(bindir)/puredata
+ install -m755 $(BIN_DIR)/pdsend $(DESTDIR)$(bindir)/pdsend
+ install -m755 $(BIN_DIR)/pdreceive $(DESTDIR)$(bindir)/pdreceive
+ for dir in $(shell ls -1 ../doc | grep -v CVS); do \
+@@ -202,7 +202,7 @@ install: all
+ @echo "Pd install succeeded."
+
+ local-clean:
+- -rm -f ../obj/* $(BIN_DIR)/pd $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \
++ -rm -f ../obj/* $(BIN_DIR)/puredata $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \
+ $(BIN_DIR)/pdreceive $(BIN_DIR)/pd-watchdog m_stamp.c
+ -rm -f `find ../portaudio -name "*.o"`
+ -rm -f *~
+@@ -232,7 +232,7 @@ makefile.dependencies: makefile
+
+ uninstall:
+ rm -f -r $(DESTDIR)$(libpddir)
+- rm -f $(DESTDIR)$(bindir)/pd
++ rm -f $(DESTDIR)$(bindir)/puredata
+ rm -f $(DESTDIR)$(bindir)/pdsend
+ rm -f $(DESTDIR)$(bindir)/pdreceive
+ rm -f $(DESTDIR)$(includedir)/m_pd.h
diff --git a/debian/patches/series b/debian/patches/series
index 6622a23..24e05d8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,5 @@
02_kfreebsd.diff
03_nostrip.diff
04_hurd.diff
+05_user-install-paths.diff
+06_bin-puredata.diff
diff --git a/debian/puredata.desktop b/debian/puredata.desktop
index e43b926..a43e974 100644
--- a/debian/puredata.desktop
+++ b/debian/puredata.desktop
@@ -1,9 +1,18 @@
[Desktop Entry]
-Type=Application
-Name=PureData
-GenericName=
-Comment=
-Icon=puredata.xpm
-Exec=/usr/bin/pd
+Encoding=UTF-8
+Name=Pure Data
+GenericName=Pd
+Comment=Visual dataflow programming platform for multimedia
+Comment[ca]=Plataforma de programaci� visual per aplicacions multim�dia
+Comment[de]=Grafische Datenflussprogrammierung f�r Multimedia
+Comment[es]=Plataforma de programaci�n visual para aplicaciones multimedia
+Comment[fr]=Plateforme de programmation visuelle pour applications multim�dia
+Comment[it]=Piattaforma di programmazione visuale per applicazioni multimedia
+Comment[pt]=Plataforma de programa��o visuais para multimedia
+Exec=/usr/bin/puredata %F
Terminal=false
-Categories=AudioVideo;Audio;
+Type=Application
+Icon=puredata
+TryExec=puredata
+Categories=AudioVideo;Audio;Video
+StartupNotify=false
--- End Message ---